@ivan8m8

Как изменить способ прохождения маршрута через API google maps?

Здравствуйте. У меня стоит задача: на одной карте (я взял google maps) отобразить разными цветами различные маршруты.

Есть код, который с этим почти справляется:

<!DOCTYPE html>
<html>
    <head>
        <title>Simple Map</title>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
        <meta charset="utf-8">
        <style>
            html, body, #map-canvas {
                margin: 0;
                padding: 0;
                height: 100%;
            }
        </style>
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
        <script>
            var map, directionsService;

            function renderDirections(result, polylineOpts) {
                var directionsRenderer = new google.maps.DirectionsRenderer();
                directionsRenderer.setMap(map);

                if(polylineOpts) {
                    directionsRenderer.setOptions({
                        polylineOptions: polylineOpts
                    });
                }

                directionsRenderer.setDirections(result);
            }

            function requestDirections(start, end, polylineOpts) {
                directionsService.route({
                    origin: start,
                    destination: end,
                    travelMode: google.maps.DirectionsTravelMode.DRIVING
                }, function(result) {
                    renderDirections(result, polylineOpts);
                });
            }

            function initialize() {

                var mapOptions = {
                    zoom: 4,
                    center: new google.maps.LatLng(39.5, -98.35),
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                };
                map = new google.maps.Map(document.getElementById('map-canvas'),    mapOptions);
                directionsService = new google.maps.DirectionsService();

                requestDirections('Смоленск', "Чита", { strokeColor:'#ff0000' });
                requestDirections('Bryansk', "Moscow", { strokeColor:'#0000ff' });

                setTimeout(function() {
                    map.setZoom(4);
                }, 2000);

            }

            google.maps.event.addDomListener(window, 'load', initialize);

        </script>
    </head>
    <body>
        <div id="map-canvas"></div>
    </body>
</html>


Все дело в том, что маршруты, которые требуются мне, несколько отличаются от тех, которые прокладывает гугл. (Вдруг, я хочу поехать в Рязань через Питер) Это легко правится в онлайн режиме вот так, с помощью специальных точек: c19b446966f949acb5ba1531a17032e2.png

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

Поможете? Мне кажется, что не хвататет включения какого-то атрибута в google maps api...
  • Вопрос задан
  • 604 просмотра
Пригласить эксперта
Ответы на вопрос 1
riot26
@riot26
<:З )~~
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы