0

GoogleマップのマーカーClustererにマーカーを追加するのに問題があります。Firebugはエラーを返します:

エラー:メソッドの呼び出し時にプロパティ:[オブジェクトオブジェクト]'の値が無効です:[nsIDOMEventListener :: handleEvent]

マーカーは、JavaScriptとPHPを組み合わせて作成されます。

// loop starts here.......

    var randLatLng = new google.maps.LatLng( <?php echo $lat; ?>, <?php echo $lon; ?> );
    var marker_<?php echo $gauging["Gauging"]["id"]; ?> = new google.maps.Marker({
        map: MyMap.map,
            title: '<?php echo $gauging["Gauging"]["identification"]; ?>',
            position: randLatLng,
            draggable: false, 
            clickable: true, 
            icon: '/img/markers/yellow_Marker.png',
            myId: 'gp_<?php echo $gauging["Gauging"]["id"]; ?>'
        });
    myMap.markers.push(marker_<?php echo $gauging["Gauging"]["id"]; ?>);

// loop ends here .......

var markerYellowCluster = new MarkerClusterer(myMap, yellowMarkers);

...そしてこのコードはすべてのマーカーをうまく作成しますが、それらをclustererに追加しません。

これを修正する方法を教えてください。

Tnx in adv!

更新:多分これは役立つかもしれません--alert(yellowMarkers); アラートウィンドウを表示します。

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
4

2 に答える 2

1

以前にこれを行ったとき、私のコードは次のようになりました。

var markerCluster = new MarkerClusterer(map, markers, {
            zoomOnClick: true,
            averageCenter: true
        });

yellowMarkersですか?それはmyMap.markersではありませんか?

于 2012-02-09T09:13:28.907 に答える
0

変数の名前に関する上記のコメントのいくつかに同意しますが、ここに別のオプションを追加したいと思います。

マーカーの追加を開始する前に、markerclustererを初期化できます。

var markerYellowCluster = new MarkerClusterer(myMap);

次に、呼び出す代わりに:

myMap.markers.push(marker_<?php echo $gauging["Gauging"]["id"]; ?>);

マーカークラスターオブジェクト自体で「addMarker」メソッドを呼び出すだけで、マーカーとマーカークラスターの両方がマップに追加されます。

markerYellowCluster.addMarker(marker_<?php echo $gauging["Gauging"]["id"]; ?>);
于 2012-02-09T21:38:34.870 に答える