Умная доставка

Умная доставка

Расчет маршрута и стоимости доставки на карте

28 оценок

Продукт снят с продажи
Ваш отзыв
Установок
200+
Разработчик
Поддержка
Рекомендации по настройке

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

Для назначения тарифов зоне, которая находится за пределами остальных зон доставки, ей необходимо указать идентификатор _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'
        });
    }
}