2

タイルオーバーレイ(ビジュアル)を使用して、スペース、建物名、アクセシビリティ、駐車スペースのレンダリングと、ユーザーがさまざまな建物をクリックできるようにするKMLポリゴン(機能)を表示するプロジェクトに取り組んでいます。さらに情報を表示するための関心のあるポイント。私の現在の問題は、これらのさまざまな要素の編成にあります。

現在、KMLポリゴンは、建物名や駐車場など、すべてのタイルオーバーレイの上に表示されています。これは、KMLポリゴンによって部分的に隠されているため、KMLポリゴンの上に配置することをお勧めします。要するに、これが現在の階層化です:

  • KMLポリゴン
  • 建物名(透明)
  • アクセシビリティ(透明)
  • 駐車場(透明)
  • スペースレンダリング(不透明)
  • グーグルマップ

理想的には、KMLポリゴンをこれらのタイルオーバーレイ内、つまりスペースのレンダリングの真上に表示することをお勧めします。したがって、私はこの階層化を取得したいと思います。

  • 建物名(透明)
  • アクセシビリティ(透明)
  • 駐車場(透明)
  • KMLポリゴン
  • スペースレンダリング(不透明)
  • グーグルマップ

これを実現するために、KMLをタイルオーバーレイレイヤーに再配置する方法はありますか?

タイルオーバーレイ:

map.overlayMapTypes.insertAt(0, renderMapType);
map.overlayMapTypes.insertAt(1, parkingMapType);
map.overlayMapTypes.insertAt(2, accessMapType);
map.overlayMapTypes.insertAt(3, nameMapType);

編集:

マップをもう少し明確に説明させてください。

Googleマップが「マップ」にある場合、レンダリングが表示され、ほとんどのKMLポリゴンは非表示になります。レンダリングに表示されていないポリゴンは表示されたままなので、ユーザーはそれらの存在を認識できます。Googleマップが「衛星」の場合、レンダリングは表示されず、すべてのKMLポリゴンが表示され、それぞれの要素が衛星画像にオーバーレイされるため、ユーザーが見やすくなります。

どちらの場合も、アクセシビリティ、パーキング、名前のオーバーレイを使用できます。表示する必要のあるKMLポリゴンが常に少なくともいくつかあるため、レイヤーを並べ替える方法を探すことにしました。

4

2 に答える 2

1

レイヤーの順序を簡単に変更することはできませんが、KMLで透明なポリゴンを使用して同じ効果を得ることができます。

于 2012-05-17T16:26:45.723 に答える
1

レイヤーの順序を実際に変更するには、カスタムタイルオーバーレイを使用して、適切なペインに配置する必要があります。これは私が作成した実装であり、自由に使用できます。現在作成されている機能のほとんどは、mapsAPIに存在します。

http://search.missouristate.edu/map/mobile/examples/tileoverlay.htm

おそらく、オーバーレイが描画されるペインを調整する必要があります。該当するソース行は次のとおりです。

this.getPanes().mapPane.appendChild(this.settings.div_);
于 2012-05-17T17:30:50.437 に答える