
for(i=0; i<locations.length; i ) {
var position = new google.maps.LatLng(locations[i][2], locations[i][3]);
var marker = new google.maps.Marker({
position: position,
map: map,
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][1]);
infowindow.setOptions({maxWidth: 200});
infowindow.open(map, marker);
}
}) (marker, i));
Markers[locations[i][4]] = marker;
}
我的地圖有多個帶有資訊視窗的標記,我的目標是更新標記資訊視窗,但無法找到解決方案。
uj5u.com熱心網友回復:
如果您嘗試i關閉存盤,那么您可以這樣做:Demo JsFiddle
for (let i = 0; i < locations.length; i ) {
let position = new google.maps.LatLng(locations[i][1], locations[i][2]);
let marker = new google.maps.Marker({
position: position,
map: map,
title: locations[i][0]
});
google.maps.event.addListener(marker, 'click', function (event) {
let content = `<b>${locations[i][0]} </b><br>
${locations[i][3]}<br>
Position: ${event.latLng.lat()}, ${event.latLng.lng()}`;
infowindow.setContent(content);
infowindow.setOptions({ maxWidth: 200 });
infowindow.open(map, marker);
});
}
或者您可以從事件物件 event.latLng.lat()獲取位置并使用它獲取位置。
或者,您可以為每個標記設定單獨的資訊視窗。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/432257.html
標籤:javascript html 谷歌地图 谷歌地图标记
