-2
我按照此示例(http://jsfiddle.net/upsidown/p646xmcr/)在我的地圖上每隔5秒刷新一次標記的位置。現在我不明白我怎麼可以給每個標記添加一個infowindow,而不用說時間和地理位置(或者只是海灘數組的第5個元素)。將Infowindow添加到數組標記中,每5秒刷新一次Google地圖
var map;
var markers = []; // Create a marker array to hold your markers
function initialize() {
var mapOptions = {
zoom: 5,
center: new google.maps.LatLng(10,12),
mapTypeId: google.maps.MapTypeId.SATELLITE
}
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
setMarkers(beaches);
// Bind event listener on button to reload markers
//document.getElementById('reloadMarkers').addEventListener('click', reloadMarkers);
}
var n = 0;
setInterval(function reloadMarkers() {
n++;
var beaches = [
['Bondi Beach', 10+n, 10+n, 5],
['Coogee Beach', 10-n, 11-n, 5],
['Cronulla Beach', 10-n, 12+n, 3],
['Manly Beach', 10+n, 13-n, 2],
['Maroubra Beach', 10, 14, 1]
];
// Loop through markers and set map to null for each
for (var i=0; i<markers.length; i++) {
markers[i].setMap(null);
}
// Reset the markers array
markers = [];
// Call set markers to re-add markers
setMarkers(beaches);
var infowindow = new google.maps.InfoWindow({
content: "infowindowstringg"
});
marker.addListener('click', function() {
infowindow.open(map, marker);
});
}, 5000);
function setMarkers(locations) {
for (var i = 0; i < locations.length; i++) {
var beach = locations[i];
var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
animation: google.maps.Animation.DROP,
title: beach[0],
zIndex: beach[3]
});
google.maps.event.addListener(marker, 'click',)
// Push marker to markers array
markers.push(marker);
}
}
initialize();
有一個在你的問題中添加信息窗口沒有代碼。你有什麼嘗試過(我假設你已經看到[InfoWindows的文檔](https://developers.google.com/maps/documentation/javascript/infowindows))?你有什麼問題? – geocodezip
您的代碼顯示不會嘗試將Infowindow添加到您的地圖。有足夠的教程和文檔可以輕鬆回答你的問題。 – MrUpsidown
我已經編輯我的測試wchich不工作通過添加google.maps.event.addListener(標記,'點擊',)你能指示我一個教程這樣做嗎? – mmarcc