Plans editor

Модель данных

  1. План
    1. Ссылка на картинку
    2. Отметка на плане - координаты + guid объекта

Новые коллекции  в БД

Plans:

{
_id :{type: "ObjectId"},
image_url : {type: "String"},

name: {type: "String"},

background: {type: "String"},

plan_markers: {
type: "Array",
        element:{
               x: {type: "Number"},
               y: {type: "Number"},
               object_name: {type: "String"},
               guid: {type: "String"} 
        }

bottom_lon: {type: "Number"},

bottom_lat: {type: "Number"},

top_lon: {type: "Number"},

top_lat: {type: "Number"}

}

 

Новые интерфейсы

changePlanMarkers(planId,  newPlanMarkers) - REST интерфейс позволяющий перезаписать существующему плану массив маркеров.

changePlanName(planId, newName) - REST интерфейс позволяющий перезаписать существующему плану имя

changePlanUrl(planId, newUrl) - REST интерфейс позволяющий перезаписать существующему плану url на svg картинку.

changePlanBackground(planId, newBackground) - REST интерфейс позволяющий перезаписать существующему плану url на картинку "подложки".

changePlanBounds(planId, bottom_lon, bottom_lat, top_lon, top_lat) - REST интерфейс позволяющий перезаписать существующему плану координаты граничных точкек.

createNewPlan(imageUrl, background, name, bottom_lon, bottom_lat, top_lon, top_lat) - REST интерфейс для создания нового плана.

showPlan(planId) - показать план по ID. Так же в plan_markers буду динамически добавлены объекты с полем 'virtual_sortavala', если они по координатам попадают на план

Js файлы

draw_plans.js - рисование планов и маркеров поверх + интерфейс apply_search_result_on_plan

plan_editor.js - логика редактора планов