Руководство по продукту Содержание установка модуля «1с-битрикс: Интерактивная карта объектов»



страница7/11
Дата16.02.2017
Размер5.29 Mb.
Просмотров2295
Скачиваний0
ТипРуководство
1   2   3   4   5   6   7   8   9   10   11

Описание данных

Категории и объекты

cats


Объект с описанием категорий объектов. Имена параметров — идентификаторы категорий, значения — объект с перечнем параметров категории.

Поля

Тип

Что означает

name

String

Название категории

parent

Boolean

Требуется, если категория является родительской

fields

String

Указатель ID набора соответствия полей

cat

String

ID родительской категории

pos

Number

Смещение иконки маркера категории в спрайте

icon

String

Адрес файла с изображением маркера

count

Number

Количество объектов в категории

Для однозначного понимания при парсинге данных, является ли категория родительской, требуется параметр [parent].

Параметр [cat] используется для привязки к родительской категории. Таким образом можно получать список категорий любого уровня вложенности для этого типа страниц. В текущей версии модуля подразумевается, что к категории можно привязать или объекты, или категории, но не одновременно и одно, и другое.

Если не указан идентификатор соответствия полей объектов категории [fields], будет использовано стандартное соответствие, которое указывается как [fields.standard]. Подробнее описание полей соответствия приведено ниже.

Для изменения маркера и логотипа категории можно указать адрес любого изображения (в тексте «спрайт»), соответствующего требованиям по размерам. Следует помнить, что, указав адрес спрайта в описании категории, смещение в параметре [pos] нужно описывать именно для этого спрайта.



Для смены иконки у всех категорий, вложенных в общую, необязательно для каждой указывать одинаковый параметр [icon] — это предпочтительней сделать у общей категории. То же самое относится к параметрам [pos] и [fields].

Параметр [count] нужен для указания количества объектов и понимания, следует ли обращаться на сервер для загрузки объектов категории при её активизации.

Порядок перечисления категорий в панели соответствует порядку, использованному при инициализации.

items


Описание объектов. Имена параметров — идентификаторы категорий, значения — объект с перечнем параметров объекта.

Поля

Тип

Что означает

name

String

Название объекта

lat

Number

Широта

lng

Number

Долгота

cat

String

Идентификатор категории

item

String

Указание ID родительского объекта

address

String

Адрес объекта

photo

String

Ссылка на изображение

url

String

Ссылка на страницу объекта

link

String

Внешняя ссылка на страницу с другого сайта

description

String

Очень краткое описание

phone

String

Один или несколько телефонов через запятую

opening

String

Часы работы

В поле cat может быть использован идентификатор объекта — так решается ситуация с филиалами. В этом случае в списке объектов дочерние объекты будут сгруппированы под родительским. При этом фильтрация будет работать по каждому объекту.

Список объектов в панели будет отсортирован в том же порядке, в котором они перечислены в параметре items.



Вложенность объектов

Предусмотрены 2 типа филиалов.

Родительский объект

С маркером на карте

Без маркера

Цель

Головное предприятие физически присутствует на карте

Просто название, объединяющее отдельные объекты

Как выглядит в списке объектов

В пункте головного предприятия присутствует кнопка показа на карте

Кнопки показа на карте нет

Требования к полям

Абсолютно те же, что и для любого объекта

Координаты должны отсутствовать

Поскольку маркера на карте нет, то поля address и photo не имеют никакого смысла

Список объектов в панели будет отсортирован в том же порядке, в котором они перечислены в параметре items.

Пример головного предприятия с маркером на карте:

$GeoMapp.init({

...


cats: {

...


s14: {name: 'Кафе, бистро', pos: 420},

...


},

items: {

...

s192: {name: 'Курочка рядом', url: '/objects/?id=192', link: 'http://www.kurochka-r.ru/', description: 'Популярная сеть предприятий быстрого обслуживания в городе Омске, специализирующаяся на блюдах из курицы', phone: '+7 (3812) 84-84-66', lat: 54.94388246090962, lng: 73.38193416595459, cat: 's14'},



s178: {name: 'Филиал «Курочка рядом»', address: 'пр. Комарова, 2/2', phone: '+7 (3812) 94-27-97', opening: 'ежедневно 7:00 - 19:00', lat: 54.936560848358866, lng: 73.38000297546387, cat: 's14', item: 's192'},

s567: {name: 'Филиал «Курочка рядом»', address: 'пр. Мира, 50', phone: '+7 (3812) 41-28-39', opening: 'ежедневно 7:00 - 19:00', lat: 54.97852493200901, lng: 73.43510627746582, cat: 's14', item: 's192'},

s235: {name: 'Филиал «Курочка рядом»', address: 'пр. К.Маркса, 24', phone: '+7 (3812) 90-32-33', opening: 'ежедневно 7:00 - 19:00', lat: 54.93002697088734, lng: 73.37412357330322, cat: 's14', item: 's192'},

s377: {name: 'Филиал «Курочка рядом»', address: 'ул. Рождественского, 6', phone: '+7 (3812) 80-10-91, +7 (3812) 90-63-98', opening: 'ежедневно 7:00 - 19:00', lat: 54.992314469981004, lng: 73.43330383300781, cat: 's14', item: 's192'},

...

}

});



Пример головного предприятия как названия группы объектов:

$GeoMapp.init({

...

cats: {


...

s12: {name: 'Инфоматы', pos: 360},

...

},

items: {



...

s140: {name: 'Киви', url: '/objects/?id=142', link: 'http://www.qiwi.ru/', description: 'Лёгкая оплата любых сервисов', phone: '+7 (3812) 49-67-23, +7 (3812) 98-78-12', cat: 's12'},

s142: {name: 'Инфомат Киви', address: 'ул. Нефтезаводская, 30', opening: 'круглосуточно', lat: 54.94671707068507, lng: 73.34000587463379, cat: 's12', item: 's140'},

s617: {name: 'Инфомат Киви', address: 'ул. Гуртьева, 18', opening: 'круглосуточно', lat: 54.94757973833598, lng: 73.3230972290039, cat: 's12', item: 's140'},

s219: {name: 'Инфомат Киви', address: 'пр. Карла Маркса, 71', opening: 'круглосуточно', lat: 54.93954388848341, lng: 73.31241130828857, cat: 's12', item: 's140'},

s767: {name: 'Инфомат Киви', address: 'ул. Пушкина, 39', opening: 'круглосуточно', lat: 54.94553395351575, lng: 73.34991931915283, cat: 's12', item: 's140'},

s821: {name: 'Инфомат Киви', address: 'ул. Сазонова, 64', opening: 'круглосуточно', lat: 54.94048066534088, lng: 73.37626934051514, cat: 's12', item: 's140'},

s587: {name: 'Инфомат Киви', address: 'ул. Учебная, 76', opening: 'круглосуточно', lat: 54.94065322711835, lng: 73.39008808135986, cat: 's12', item: 's140'},

...

}

});


fields


Описание соответствия реальных имён объектов категории именам, использующимся в модуле. Имена параметров — идентификаторы объектов соответствия (произвольное имя), значения — объект с перечнем соответствий имён.

Свойство

Значение

Поля

Тип

Что означает

Реальное имя

Object

name

String

Стандартное имя, которому соответствует реальное

title

String

Описание поля

hidden

Boolean

Не выводить в подробной информации

Для каждого объекта соответствия полей указывается идентификатор, который может быть указан при необходимости в любой категории в параметре [fields].

В объекте всегда есть описание стандартного соответствия полей с именем standard. Это соответствие описывает полное совпадение имён полей объектов использующимся в модуле по умолчанию.

Любой объект соответствия имён может использоваться для любого количества категорий. Если у категории не указан параметр [fields], используется стандартное соответствия — значение standard.

Параметр [title] используется при формировании контента с описанием объекта в режиме панелей и указанным параметром [itemCustomView]. Подпись к полю может использоваться и при самостоятельном заполнении панели объекта с помощью метода [createItemContent], который описан в разделе «API модуля».



Объект в параметре [fields] может дополняться в ходе работы модуля, а обращение к этому объекту происходит «по требованию» — при обработке первого же объекта категории, для которой задан объект соответствия, происходит обращение к этому объекту. Это значит, что в сценарии, подразумевающем загрузку объектов только при необходимости (в инициализации модуля на странице объекты отсутствуют) параметр [fields] можно не указывать — все необходимые объекты соответствия будут загружены при запросе объектов категории.

Как это выглядит в коде


$GeoMapp.init({

...


pageType: 'objects',

...


fields: {

standard: {

name: {

name: 'name',



title: 'Название объекта'

},


...

lat: {


name: 'lat',

title: 'Широта',

hidden: true

},

...



},

...


s1: {

name_test1: {

name: 'name',

title: 'Название объекта'

},

...


lat_test1: {

name: 'lat',

title: 'Широта',

hidden: true

},

...


},

...


s2: {

name_test2: {

name: 'name',

title: 'Название ресторана'

},

...


lat_test2: {

name: 'lat',

title: 'Широта',

hidden: true

},

...


CUSTOM_NAME: {

title: 'Какое-то уникальное имя'

},

...


},

...


},

cats: {


...

s103: {name: 'Развлечение и досуг', parent: true, fields: 's1'},

...

s104: {name: 'Отдых', cat: 's103', pos: 540, parent: true},



...

s14: {name: 'Кафе, бистро', pos: 420, cat: 's104', count: 9},

s23: {name: 'Рестораны', pos: 690, cat: 's104', fields: 's2'},

...


},

items: {


...

s869: {name_test2: 'Бар-ресторан китайской кухни', address_test2: 'Ленина, 14', photo_test2: '/data/1a.jpg', url_test2: '/objects/?item=869', description_test2: 'Откройте для себя кухню Поднебесной', phone_test2: '+7 (3812) 47-28-29', lat_test2: 54.886802698321816, lng_test2: 73.3716344833374, cat: 's23'},

...

s192: {name_test1: 'Курочка рядом', photo_test1: '/data/192.jpg', url_test1: '/objects/?id=192', link_test1: 'http://www.kurochka-r.ru/', description_test1: 'Популярная сеть предприятий быстрого обслуживания в городе Омске, специализирующаяся на блюдах из курицы', phone_test1: '+7 (3812) 84-84-66', opening_test1: 'ежедневно 7:00 - 19:00', cat: 's14'},



...

s178: {name_test1: 'Филиал «Курочка рядом»', address_test1: 'пр. Комарова, 2/2', description_test1: 'торговый комплекс «Маяк», 1-ый этаж: бесплатный Wi-Fi', photo_test1: '/data/178.jpg', url_test1: '/objects/?id=178', phone_test1: '+7 (3812) 94-27-97', opening_test1: 'ежедневно 7:00 - 19:00', lat_test1: 54.936560848358866, lng_test1: 73.38000297546387, cat: 's14', item: 's192'},

...

}

});


Особенность маршрутов


Особенность этого раздела в том, что иконки узлов маршрутов реализованы одинаково у всех категорий — стартовая точка, конечная и промежуточные. Спрайт используется только для формирования логотипов категорий.

items


По сравнению с описанием на страницах объектов и событий добавляется группа параметров, связанных с узлами маршрута.

Поля

Тип

Что означает

closed

Boolean

Маршрут замкнут

pops **

Boolean

Популярный маршрут или нет

points




Описание узлов маршрута




lat







lng







address







photo







description




В мобильной версии на странице маршрутов используется параметр pops. Все маршруты с таким параметром будут продублированы во вкладке «Популярные». Если не будет ни одного маршрута с таким параметром, вкладки не будет.

Поля, используемые для описания узлов, аналогичны полям основного объекта (и обрабатываются по тому же объекту соответствия). Стартовая точка маршрута описана в самом объекте. Промежуточные точки обязаны содержать координаты.

Наличие поля description вызовет отображение узла в виде маркера, при клике на который будет появляться окно с информацией, определяемой в полях address, photo и description. Также в описании маршрута такие узлы будут описаны как точки маршрута.

Как это выглядит в коде


$GeoMapp.init({

...


pageType: 'routes',

...


fields: {

...


s1: {

name_test1: {

name: "name",

title: "Название объекта"

},

...


},

...


},

cats: {


...

s1: {name: 'Пешеходные', fields: 's1'},

s2: {name: 'Транспортом', pos: 30},

s3: {name: 'По воде', pos: 60},

...

},

items: {



...

s960: {name_test1: 'Фестиваль фейерверков', lat_test1: 54.9892861024268, lng_test1: 73.3661413192749, address_test1: 'Космический пр-т, 109/2', description_test1: 'Фестиваль фейерверков, который будет состоять из 12 пиротехнических шоу со своей спецификой, тематикой и музыкальным сопровождением', photo_test1: '/data/1a.jpg', url_test1: '/routes/?id=960', phone_test1: '+7 (3812) 25-47-97', opening_test1: 'Ежедневно 8.00 – 20.00', cat: 's1',

points: [

{lat_test1: 54.99408706690677, lng_test1: 73.36004734039307},

{lat_test1: 54.99482562584999, lng_test1: 73.3621072769165, address_test1: 'ул. Блюхера, 26', description_test1: 'Остановка на горячий чай', photo_test1: '/data/1a.jpg'},

{lat_test1: 54.99453020390392, lng_test1: 73.37257862091064},

{lat_test1: 54.98867055262244, lng_test1: 73.37189197540283, address_test1: 'ул. Карбышева, 20', photo_test1: '/data/1a.jpg', description_test1: 'Масса впечатлений требует массу фотографических приспособлений'},

{lat_test1: 54.98187425533418, lng_test1: 73.3771276473999},

{lat_test1: 54.97648072238683, lng_test1: 73.37815761566162, address_test1: 'ул. Интернациональная, 41', description_test1: 'Последняя точка маршрута'}

]

},



...

s67: {name: 'Осмотр губернаторского сада', lat: 54.982686916663695, lng: 73.38051795959473, address: 'ул. Думская, 2', photo: '/data/1a.jpg', description: 'Добрый губернатор всегда позволит посмотреть сквозь забор на народное достояние', url: '/routes/?id=67', link: 'http://govermwnt-garden.net/', phone: '+7 (3812) 23-83-15', opening: 'Ежедневно 14.00 – 16.00', cat: 's2',

closed: true,

points: [

{lat: 54.98418906550906, lng: 73.38588237762451},

{lat: 54.98458306245833, lng: 73.39098930358887},

{lat: 54.98559266198975, lng: 73.409743309021},

{lat: 54.974658086290496, lng: 73.41158866882324},

{lat: 54.97283536746447, lng: 73.38232040405273},

{lat: 54.981726496961386, lng: 73.38043212890625}

]

},

...



s231: {name: 'Кормление ихтиозавров', lat: 54.93268996230905, lng: 73.35725784301758, address: 'ул. Интернациональная, 41', photo: '/data/1a.jpg', description: 'Всегда голодные и озлобленные ихтиозавры, ждущие своих пьяных дрессировщиков', url: '/routes/?id=231', link: '', phone: '+7 (3812) 62-52-27, +7 (3812) 96-76-66', opening: 'Ежедневно 8.00 – 20.00', cat: 's3',

points: [

{lat: 54.939741106477655, lng: 73.35837364196777},

{lat: 54.958398483121414, lng: 73.37661266326904},

{lat: 54.96852455458447, lng: 73.376784324646, address: 'ул. Блюхера, 26', description: 'Остановка на горячий чай', photo: '/data/1a.jpg'},

{lat: 54.98138172530998, lng: 73.3690595626831},

{lat: 54.982613039040814, lng: 73.37717056274414},

{lat: 54.985124801949326, lng: 73.38210582733154, address: 'ул. Карбышева, 20', photo: '/data/1a.jpg', description: 'Масса впечатлений требует массу фотографических приспособлений'},

{lat: 54.98662685957091, lng: 73.3831787109375},

{lat: 54.98997550699987, lng: 73.3806037902832},

{lat: 54.99256066868077, lng: 73.38240623474121, address: 'ул. Интернациональная, 41', description: 'Последняя точка маршрута'}

]

},



s112: {name: 'Ла-ла Ла-ла-ла, вниз по Иртышу', lat: 54.98842433005732, lng: 73.34695816040039, address: 'ул. Карбышева, 1', description: 'Из города на волю', url: '/routes/?id=112', opening: 'Круглосуточно', cat: 's3',

points: [

{lat: 54.97064306901983, lng: 73.37077617645264},

{lat: 54.96305531472549, lng: 73.37077617645264},

{lat: 54.955885048157114, lng: 73.36202144622803},

{lat: 54.94861491507961, lng: 73.35644245147705},

{lat: 54.943635963657194, lng: 73.35678577423096},

{lat: 54.9390015340115, lng: 73.35854530334473},

{lat: 54.93217217222989, lng: 73.35669994354248, address: 'ул. Блюхера, 11', description: 'Последняя точка маршрута'}

]

}



...

}

});





Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   10   11


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал