Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
50
rated 0 times [  54] [ 4]  / answers: 1 / hits: 17440  / 8 Years ago, wed, february 24, 2016, 12:00:00

You will find many already answers showing how to build route with different colors on it how to change the color of route in google maps v3



I want to know how I can change the color once its already builded and rendered.



I have many different routes showing on the map, but I want to show red color or darker color, if this direction point is active and change other route colors to gray, until one of them are active.



code:



var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
var map;

function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer({
polylineOptions: {
strokeColor: red
}
});

var mapOptions = {
zoom:7,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: {lat: 41.850033, lng: -87.6500523}
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay.setMap(map);
}

function calcRoute() {
var start = document.getElementById('start').value;
var end = document.getElementById('end').value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}

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


demo to show how its not working with two routes: http://jsfiddle.net/8xq4gd8y/15/


More From » google-maps

 Answers
202

The directionsRenderer class has a setOptions method. See the documentation.



directionsDisplay.setOptions({
polylineOptions: {
strokeColor: 'red'
}
});


For this to work, you need to remove it from the map and add it back to see the color change.



For example in an event listener, you would do:



google.maps.event.addListener(map, 'click', function() {

directionsDisplay.setMap(null);

directionsDisplay.setOptions({
polylineOptions: {
strokeColor: 'blue'
}
});

directionsDisplay.setMap(map);
});


JSFiddle demo


[#63189] Monday, February 22, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
teagan

Total Points: 98
Total Questions: 106
Total Answers: 101

Location: Tajikistan
Member since Thu, Apr 14, 2022
2 Years ago
;