Sto*_*age 3 javascript google-maps google-maps-api-3
我试图从谷歌地图中清除以前的指示.但是当您进行另一次搜索时,仍会显示上一次搜索中的折线和标记.我尝试过使用directionsRenderer.setMap(null),但它没有任何区别.我有什么想法我做错了吗?
(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();
};
})();
Run Code Online (Sandbox Code Playgroud)
这是因为您在函数的directionsRenderer每次调用中初始化一个新函数.
使DirectionsRenderer更加全球化.setMap(null)然后,首先,然后初始化setMap(googleMap)
像这样:
(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();
};
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8523 次 |
| 最近记录: |