Клуб API Карт

Для интернет-магазина продуктов: время доставки по городу

Пост в архиве.

Добрый вечер,

Хотелось бы узнать у уважаемого коммьюнити: может, где-то есть пример реализации простого механизма, который бы определял время доставки товара со склада интернет-магазина до посетителя сайта?

То есть, у пользователя просто открывается карта города, и ему предлагается найти свой дом, кликнуть на него, и в балуне отображается адрес точки, куда кликнул юзер, и время доставки из точки, которую я сам задаю в координатах. 

Я посмотрел примеры, которые есть, но вроде бы не нашел того, что нужно.

Никто не поможет? Если просто так за 2 минуты ничего мне посоветовать нельзя, то я, конечно, пойму, и придется браться за изучение API по-серьезному и самостоятельно.

 

3 комментария

может это подойдет

Нет, ну это, насколько я понял, просто определение текста содержимого балуна в зависимости от лейаута, но не высчитывание времени доставки.

Я насчет определения времени доставки узнал где-то в описании возможностей API, но никакого примера, к сожалению, не нашел. :(

К сожалению, такого примера нет, но его не очень сложно сделать.

Использую маршрутизатор это можно сделать примерно так:

var storeCoords = new YMaps.GeoPoint(37.617338,55.751815); // Адрес склада

// При щелчке по карте открываем балун
YMaps.Events.observe(map, map.Events.Click, function (e, map) {
    var userPointCoords = e.getGeoPoint(); // Координаты клика пользователя

    // Строим маршрут от склада до точки пользователя
    var router = new YMaps.Router([storeCoords, userPointCoords]);

    YMaps.Events.observe(router, router.Events.Success, function (router) {
        map.openBalloon(userPointCoords, 'Время в пути: ' +  YMaps.humanDuration(router.getDuration()));
    });
});