gpt4 book ai didi

javascript - 谷歌地图 v3 directionsRenderer.setMap(null) 无法清除以前的方向

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:34:58 28 4
gpt4 key购买 nike

我正在尝试从 Google map 中清除之前的路线。但是,当您进行另一次搜索时,上一次搜索的多段线和标记仍然会显示。我试过使用 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();
};
})();

最佳答案

这是因为您在函数的每次调用中都初始化了一个新的 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();
};
})();

关于javascript - 谷歌地图 v3 directionsRenderer.setMap(null) 无法清除以前的方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16666050/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com