javascript - Google Maps v3 directionsRenderer.setMap(null) not working to clear previous directions -
i trying clear previous directions google map. when search, polyline , markers previous search still show. have tried using directionsrenderer.setmap(null), doesn't make difference. ideas i'm doing wrong?
(function () { maps.directions = function(googlemap, data, options) { var directionsservice = new google.maps.directionsservice(), directionsrenderer = new google.maps.directionsrenderer(); function getdirections() { directionsservice.route(data.request, function(response, status) { if (status === google.maps.directionsstatus.ok) { directionsrenderer.setdirections(response); } }); } directionsrenderer.setmap(null); directionsrenderer.setmap(googlemap); getdirections(); }; })();
this because initializing new directionsrenderer
in every call of function.
make directionsrenderer little more global. , first setmap(null)
, initialize, setmap(googlemap)
like this:
(function () { var directionsrenderer; maps.directions = function(googlemap, data, options) { if(directionsrenderer){ directionsrenderer.setmap(null); } var directionsservice = new google.maps.directionsservice(); directionsrenderer = new google.maps.directionsrenderer(); function getdirections() { directionsservice.route(data.request, function(response, status) { if (status === google.maps.directionsstatus.ok) { directionsrenderer.setdirections(response); } }); } directionsrenderer.setmap(googlemap); getdirections(); }; })();
Comments
Post a Comment