グーグルマップAPIのv2を使用するアプリケーションをv3に変換しています。この一環として、MarkerManagerもv3バージョンにアップグレードする必要がありました。
ユーザーが地図をズームするまでマーカーが表示されないという奇妙な問題があります。その後、マーカーが表示されます。
その後、元のズームレベルにズームバックすると、マーカーが残るため、最小/最大ズームの問題ではありません。firebug \ javascript consoleにエラーは報告されていません。マーカーが追加された場所にブレークポイントまたはconsole.logを配置すると、間違いなく追加されています。
アプリケーションはかなり大きいので、ここにすべてのソースを置くことはできませんが、マーカーが追加されるコードは次のとおりです。
console.log("Adding Marker");
markerManager.addMarker(marker, 1, 19);
markerManager.refresh();
そして、marker
作成されるコードは次のようになります。
var latLng = new google.maps.LatLng(y, x);
var marker = new MarkerWithLabel({
position: latLng,
title: "title",
labelClass: "marker",
labelContent: "Test",
icon: icon,
labelAnchor: new google.maps.Point(26, 32)
});
とicon
はただのgoogle.maps.MarkerImage
です。MarkerManagerとMarkerWithLabelはここに文書化されています:
http://google-maps-utility-library-v3.googlecode.com/svn/tags/markermanager/1.0/docs/reference.html
編集:マーカーマネージャーを作成した後、何かを行う前にそれを追加する必要があります。次のようになっているので、読み込まれるまで何も追加しようとはしていません。
google.maps.event.addListenerOnce(markerManager, 'loaded', function () {
私の間違いがどこにある可能性が高いかについて誰かが何か提案がありますか?