Не получается реализовать waypoints в google map api

174
01 февраля 2018, 19:41

Есть задача построить два маршрута от начальной точки до конечной, через промежуточные. Поскольку в JS я полный ноль, начал искать готовые решения... получилось построть маршруты от начальной до конечной точки, но не получается указать промежуточные, если пытаюсь указать то маршрут вообще не строится, проблема возникает в строчке waypoints, если ее убрать то все работает.

function initialize() {
            var mapOptions = {
                zoom: 10,
                center: new google.maps.LatLng(55.904779, 37.541202),
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById('map-canvas'),    mapOptions);
            directionsService = new google.maps.DirectionsService();

            directionsService.route({
                origin: "55.904779, 37.54120",
                destination: "55.908560,37.597723",
                waypoints: "55.905731, 37.591735",
                optimizeWaypoints: true,
                travelMode: google.maps.DirectionsTravelMode.DRIVING
            }, function(result) {
                renderDirections(result, { strokeColor:'#ff0000' });
            });
            setTimeout(function() {
                map.setZoom(12);
            }, 2000);
        }
Answer 1

Точно не помню но вроде waypoints принимает в себя массив данных с location и необязательным параметром stopover а не строку.

function initialize() {
        var start = new google.maps.LatLng(55.904779, 37.54120);
        var stop = new google.maps.LatLng(55.908560,37.597723);
        var mapOptions = {
            zoom: 10,
            center: new google.maps.LatLng(55.904779, 37.541202),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById('map-canvas'),    mapOptions);
        directionsService = new google.maps.DirectionsService();

        directionsService.route({
            origin: start,
            destination: stop,
            waypoints: [
                {
                    location: new google.maps.LatLng(55.905731, 37.591735),
                    stopover: false // - логическая переменная, указывающая, является ли промежуточная точка остановкой на маршруте. Если является, то маршрут разделяется на два отдельных маршрута.
                }],
            optimizeWaypoints: true,
            travelMode: google.maps.DirectionsTravelMode.DRIVING
        }, function(result) {
            renderDirections(result, { strokeColor:'#ff0000' });
        });
        setTimeout(function() {
            map.setZoom(12);
        }, 2000);
    }
READ ALSO
Как подключить боту Telegram статистику?

Как подключить боту Telegram статистику?

Помогите пожалуйста подключить к PHP боту Telegram статистику его использования, с помощью Botanio Ничего не получается

270
Как реализовать диалог с ботом вк PHP

Как реализовать диалог с ботом вк PHP

ЗдравствуйтеУчусь создавать ботов в вк посредством php

276
Конвертация Excel (xlsx, xls) в PDF с помощью PHP

Конвертация Excel (xlsx, xls) в PDF с помощью PHP

Требуется после загрузки XLSX или XLS документа на сервер, сразу конвертировать его в PDF и отдавать клиенту

264
Токен для получения данных с другого сервера

Токен для получения данных с другого сервера

На прием-сервере имеется скрипт:

243