Плагин устанавливается автоматически и не требует специальной настройки.
Для назначения тарифов зоне, которая находится за пределами остальных зон доставки, ей необходимо указать идентификатор _outside.
CSSДля адаптации ширины карты к вашей теме дизайна, вам потребуется изменить размеры двух блоков: .map-holder и #smart-shipping-map.
Обратите внимание, что Яндекс.карты требуют явного указания размеров для блока, содержащего карту.
Плагин использует API Яндекс карт и поддерживает расширение карты и находящихся на ней объектов в рамках этого API. Например, различные зоны доставки могут быть окрашены в разные цвета, а часть маршрута, проходящего через зону иметь свой уникальный стиль.
Для указания дополнительных параметров зоны, используйте соответствующее поле в ее настройках. Содержимое данного поля должно быть валидной JSON-строкой, например: {"strokeColor": "FF0000", "fillColor": "FFFFFF", "opacity": 0.3}.
Для манипуляций с сегментами маршрута, используйте колбэки, описание которых представлено ниже в данном документе.
Создание колбэков для частей маршрутаЕсли вам требуется произвести некоторые манипуляции с частью маршрута, проходящего через определенную зоны доставки, необходимо в соответствующем поле настроек плагина в объекте smartshippingCallbacks создать свойство с именем, совпадающим с идентификатором зоны. Значением этого свойства должен являться объект с двумя свойствами: inCallback и boundaryCallback — для элементов входящих в зону и находящихся на ее границе соответственно. Значениями их должны быть функции, принимающими единственный параметр — объект типа GeoQueryResult.
Колбэк для части маршрута, выходящей за пределы зон доставкиДля части маршрута, которая не входит ни в одну из зон доставки, вызывается функция, являющаяся значением свойства outsideCallback объекта zoneCallbacks. Функция, аналогично, принимает единственный параметр, являющийся объектом типа GeoQueryResult.
Пример колбэков:var smartshippingCallbacks = {
"blizhayshee-podmoskove": {
inCallback: function(inObjects) {
inObjects.setOptions({
strokeColor: '#ff0000',
preset: 'islands#redIcon',
strokeWidth: 2
});
},
boundaryCallback: function(inObjects) {
inObjects.setOptions({
strokeColor: '#ff0000',
preset: 'islands#redIcon',
strokeWidth: 2
});
}
},
"outsideCallback": function(outsideObjects) {
outsideObjects.setOptions({
preset: 'islands#blackIcon',
'strokeColor': '#000000'
});
}
}