0

Googleマップ(v3)にはさまざまなKMLレイヤーがあります。マーカーの各セットには、ランダムな色のマーカーが割り当てられました。ただし、これを制御できるようにしたいと思います。

これまでのところ、これは私が持っているものです:

map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);    
var kmlLayerOptions = { preserveViewport: true, suppressInfoWindows: true };    
var Layer1 = new google.maps.KmlLayer('http://myurl.com/1.xml', kmlLayerOptions);
Layer1.setMap(map);
var Layer2 = new google.maps.KmlLayer('http://myurl.com/2.xml', kmlLayerOptions);
Layer2.setMap(map);

レイヤー1に青いマーカーを使用し、レイヤー2に赤いマーカーを使用させたいと言える必要がありますが、これを理解できないようです。

私の知る限り、kmlLayerOptionsを使用してこれを行う方法はありません。これは、発生するように見える場所であるため、レイヤーオブジェクト上で直接この変更を行う以外に、論理的にこの変更を行うことができる場所がわかりません。

4

2 に答える 2

1

KmlLayerで変更することはできません(少なくとも現在、機能を追加するための拡張リクエストを作成できます)。

FusionTablesLayersを使用してこれを行うことができます(KMLをFusionTablesにインポートし、ユーザーインターフェイスを使用してアイコンを設定するか、Google Maps API v3で動的なスタイルを設定します(必要なアイコンが5つ未満であり、必要なアイコンがFusionTables)。

最後のオプションは、既存のKMLを編集して、必要なアイコンを使用することです。

于 2013-01-28T22:13:00.007 に答える
1

KmlLayerは、KMLドキュメント自体のスタイルに従ってレンダリングされ、どのレイヤーオプションでもこれを上書きすることはできません。

KML自体を変更したくない場合は、Googleのサーバーにレンダリングさせるのではなく、http://code.google.com/p/geoxml3/などのサードパーティライブラリを使用してクライアント側でKMLをレンダリングできます。これにより、レンダリングのデフォルトを上書きすることができます。

于 2013-01-28T22:15:50.270 に答える