我根本不知道javascript,但我設法讓我的地圖上的所有東西都工作,除了這一件事。我正在爲論壇的成員發送他們的城市和州的功能,並將其添加到地圖中。這裏是我有:http://l4ptester.solidwebhost.com/L4p.html 如果你點擊幾個地圖標記你會發現,你可以有任意多的infoWindows打開在任何時候,只要你喜歡,我不想這樣。我只有一個人希望infoWindow一次打開。所以如果我在佛羅里達點擊一個標記,然後在加利福尼亞點一個標記,那麼佛羅里達的那個將會關閉。Google API V3一次只能打開一個infoWindow
下面是一個地圖標記中的條目看起來像在我的代碼:
var InvadermooseLL = new google.maps.LatLng(27.321984,-82.527666);
var contentString =
'<div id="content">'+
'<center> <strong>Invadermoose</strong> </center>'+
'<img src="http://www.luxury4play.com/customavatars/avatar16771_3.gif">'+
'<div id="bodyContent">'+
'<a href="http://www.luxury4play.com/members/invadermoose.html" '+
'target="_blank">Invadermoose's L4P Profile</a>'+
'<br/><font size="2">(Opens in new tab)</font>'+
'City: Sarasota'+
'State: Florida'+
'</div>'+
'</div>';
var InvadermooseIW = new google.maps.InfoWindow({
content: contentString
});
var InvadermooseMKR = new google.maps.Marker({
position: InvadermooseLL,
map: map,
title:"Invadermoose"
});
google.maps.event.addListener(InvadermooseMKR, 'click', function() {
InvadermooseIW.open(map,InvadermooseMKR);
IrelentlessIW.close(map,IrelentlessMKR);
Hollywood85IW.close(map,Hollywood85MKR);
HazeMythIW.close(map,HazeMythMKR);
jagkidIW.close(map,jagkidMKR);
DiegoVIW.close(map,DeigoVMKR);
RaceMindedIW.close(map,RaceMindedMKR);
});
我會解釋這一點。 Invadermoose是獲取地圖標記的用戶,因此我將其用作ID以保持其組織性。因此var InvadermooseLL基本上是Invadermoose LatLang,InvadermooseMKR是Invadermoose Marker。它只是幫助我保持組織。
現在,在腳本的底部,我擁有所有'點擊'功能。它看起來像它會關閉其他成員標記,但它不起作用。我在堆棧溢出的地方讀到了這是做到這一點的方法,但它不會工作。
我基本上對每個有地圖標記的用戶重複這個相同的代碼,我只是用我的識別前綴(LL,MKR,IW)和一些'點擊'功能將ID更改爲他們的用戶名。