0

明らかに、通常の方法でそれらを追加するだけであれば、途中でそれらを配列に保持するだけですが、私の場合はマーカーが読み込まれていますが、KML レイヤーを使用しています。

したがって、KML がロードされてマーカーが表示された後、私は基本的にいくつあるかを知りたいだけであり、これに対する愚かなハック (jQuery を使用して KML ファイルを再度ロードし、そこでカウントするなど) を見つけることができますが、理想的にはmyArray = map.getMarkers()またはのようなものが欲しいだけですがmyArray = map.getOverlays()、そのようなものは存在しますか?

答えを見つけるのに時間がかかる理由ではなく、とても簡単な作業のように思えます。たぶんそれは不可能ですか?

4

3 に答える 3

1

そのようなことはありません。配列を保持し、挿入するたびにオブジェクト ID を追加する必要があります。

于 2013-07-27T04:54:51.717 に答える
1

KLM レイヤーを使用してマーカーを追加した後、マーカーにアクセスできるかどうかはわかりません。それほど多くのマーカーがない場合は、通常の Marker クラスを使用してそれらをロードします。

私のやり方が間違っていたのかもしれませんが、前回 KLM レイヤーを使用してマーカーを実装しようとしたとき、それらにイベントを追加したり、まったくアクセスしたりできませんでした。

それらをカウントするだけでよい場合は、AJAX を使用して同じ KML ファイルをロードし、それを XML として解析すると、そこから要素を取得してカウントできます。

于 2013-07-27T05:30:11.273 に答える
1

KmlLayer のマーカーにはアクセスできません (Google のサーバーによってマップ タイルとしてレンダリングされます)。FusionTableLayer (KML をFusionTableにインポートし、クエリをその FusionTable に変更してマーカーをフィルター処理できます) またはgeoxml3geoxml-v3などのサード パーティの KML パーサー(ネイティブの Google マップ v3 オブジェクトを使用して KML をレンダリングします) を使用できます。 .

geoxml3 を使用した例

FusionTables を使用した例

于 2013-07-27T12:01:30.260 に答える