私はJavaScriptをまったく知りませんが、この1つのことを除いて、マップ上のすべてを機能させることができました. 私は、メンバーが市と州を送ってくれるフォーラムの機能に取り組んでおり、それらを地図に追加しています。私が持っているものは次のとおりです: http://l4ptester.solidwebhost.com/L4p.html いくつかのマップ マーカーをクリックすると、一度に好きなだけ多くの情報ウィンドウを開くことができることがわかります。一度に開く infoWindow は 1 つだけです。したがって、フロリダのマーカーをクリックしてからカリフォルニアのマーカーをクリックすると、フロリダのマーカーが閉じます。
私のコードでは、マップ マーカーのエントリは次のようになります。
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 です。整理しておくのに役立ちます。
さて、スクリプトの一番下に、すべての「クリック」機能があります。他のメンバーのマーカーを閉じるように見えますが、機能しません。私はそれがそれを行う方法であるスタックオーバーフローのどこかを読みましたが、うまくいきません。
基本的に、マップ マーカーを持っているすべてのユーザーに対してこの同じコードを繰り返します。ID をユーザー名に変更し、識別プレフィックス (LL、MKR、IW) といくつかの「クリック」関数を使用するだけです。