私は問題に遭遇したようですが、インフォボックスの多くの実装を見ましたが、マーカーに別のコードを挿入する方法を理解しているようです。私は非常にjavascriptと未経験なので、私はそれを把握するように見えることはできません。グーグルマップapiv3、すべてのマーカーに同じクリック機能があります
私はマップに行くとき、それはすべてのマーカーを示すが、唯一の配列の最後であるコードの一部を選択し、
コード:
function updateMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: locationarray[0]
});
var markernumber = new Array();
for (var i = 0; i < 99; i++) {
markernumber[i] = new google.maps.Marker({
position: locationarray[i],
map: map
});
console.log('in loop:' + i);
google.maps.event.addListener(markernumber[i], 'click', function() {
console.log('in click:' + i);
openInNewTab(contentString[i]);
});
}
document.getElementById('loader').style = "opacity: 0;";
}
がcontentstring [i]が正常に動作していますしたがって、この関数の外には何もありません。
'Googleマップapiv3は、すべてのマーカーに同じクリックfunction'できますいくつかの質問があれば教えてください - いいえ、あなたはそれをやっているし...' i'は、イベントハンドラは、すべてのために100になります内側マーカーをクリックします。 GoogleマップのJS API v3 - 単純な複数のマーカーの例: –
の可能な複製(https://stackoverflow.com/questions/3059044/google-maps-js-api-v3-simple-multiple-marker-example) – geocodezip