изменить цвет полилинии в DirectionsRenderer - PullRequest
5 голосов
/ 16 февраля 2012

Я интегрировал карту и хочу отобразить маршруты маршрутов между двумя точками. все работает отлично и направления отображаются отлично, но я хочу изменить цвет направления Polyline, я пробовал этот код, как сказано в документации:

//polyline options
    var pOptions = {
            map: map,
            strokeColor: "#2249a3",
            strokeOpacity: 0.9 ,
            strokeWeight: 12,
            z-index: 99
    };
    logJava(polylineOptions);

    //directionsRenderer options
    var mDirectionsRendererOptions = {
            map: map,
            suppressMarkers: true,
            suppressInfoWindows: true,
            polylineOptions: pOptions
    };

    logJava(mDirectionsRendererOptions);

    directionsDisplay = new google.maps.DirectionsRenderer(mDirectionsRendererOptions);

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

что не так с этим кодом и как изменить цвет ломаной с помощью google maps javascript api v3 ?

Заранее спасибо,

Ответы [ 4 ]

20 голосов
/ 16 февраля 2012

В глобальных декларациях

var polylineOptionsActual = new google.maps.Polyline({
    strokeColor: '#FF0000',
    strokeOpacity: 1.0,
    strokeWeight: 10
    });

При инициализации

function initialize() {
   directionsDisplay = new google.maps.DirectionsRenderer({polylineOptions: polylineOptionsActual});    
7 голосов
/ 19 февраля 2015

В ответе, помеченном как разрешенный, я вижу, что объект Polyline используется для polylineOptions. В моем случае я использую следующий код

new google.maps.DirectionsRenderer({ suppressMarkers: true, polylineOptions: { strokeColor: '#5cb85c' } });

Разница в том, что я назначаю polylineOptions , а не Polyline объект. Не уверен, что это может быть полезно, но решил добавить эти ответы.

3 голосов
/ 23 февраля 2015

Использование setOptions (параметры: DirectionsRendererOptions) делает код более читабельным. Кодировка будет:

На глобальном уровне:

var directionsDisplay;

Внутри initialize() Метод:

var polyline = new google.maps.Polyline({
    strokeColor: '#C00',
    strokeOpacity: 0.7,
    strokeWeight: 5
    });
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setOptions({polylineOptions: polyline}); 
now directionDisplay can be used in any method with the custom poly line.
3 голосов
/ 03 марта 2013

@ Seacat, после того, как вы обновите directionsRenderer новыми polylineOptions, вы должны повторно отрендерить ответ о направлениях, который хранится в объекте рендерера.

directionsRenderer.setDirections(directionsRenderer.directions);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...