gpt4 book ai didi

google-maps - 谷歌地图 setMap 不是一个函数

转载 作者:行者123 更新时间:2023-12-03 00:23:08 24 4
gpt4 key购买 nike

我正在处理我的谷歌地图页面在 Firebug 中显示错误的问题。当我在经销商 map 中搜索时,将触发 clearLocations() 函数。但出现此错误:“ma​​rkers[i].setMap 不是函数

有谁知道如何解决这个问题吗?我在多个论坛和群组中进行了搜索,但我使用的是 google.maps.Marker 数组,因此找不到我的问题。

提前致谢!

代码(clearLocations()):

function clearLocations() {
infoWindow.close();
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers.length = 0;
dealers.innerHTML = "";

}

代码(load()):

function load() {



map = new google.maps.Map(document.getElementById("map_canvas"), {
//center: new google.maps.LatLng(51.30174, 10.60824),
zoom: 10,
mapTypeId: 'roadmap',
mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}
});
infoWindow = new google.maps.InfoWindow();
dealers = document.getElementById("dealers");

infoWindow = new google.maps.InfoWindow();
var bounds = new google.maps.LatLngBounds();

for (i = 0; i < markers.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(markers[i][1], markers[i][2]),
map: map
});

var pos = new google.maps.LatLng(markers[i][1], markers[i][2]);
bounds.extend(pos);

google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(markers[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
map.fitBounds(bounds);

}

最佳答案

那么,如果我理解正确的话,Markers 数组是一个 LatLong 数组?或者它是 google.maps.Marker 类型的数组?如果是前者,则不会有任何可用的 map 功能,因为它不是 Google map 标记。

一个选项可能是制作一个您在 map 上放置的标记数组,如下所示。

var marker = new google.maps.Marker({
position: new google.maps.LatLng(markers[i][1], markers[i][2]),
map: map
});
mapMarkers[i] = marker;

然后调用

mapMarkers[i].setMap(null)

关于google-maps - 谷歌地图 setMap 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286913/

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