10

OpenLayers でズームを制御したい。

ズームが 3 のときは KML1 を読み込み、ズームが 4 のときは KML2 を読み込みます。

ズームイベントを制御する方法を教えてください。

4

2 に答える 2

7

j_freyre が述べたように、KML レイヤーの可視性を変更する関数を「zoomend」イベントに登録する必要があります。あなたの場合、次のようにする必要があります。

map.events.register("zoomend", map, zoomChanged);

zoomChanged()
{
  zoom = map.getZoom();
  if (zoom == 3)
  {
    kml1.setVisibility (true);
    kml2.setVisibility (false);
  }
  else if (zoom == 4)
  {
    kml1.setVisibility (false);
    kml2.setVisibility (true);
  }
}
于 2013-03-28T08:04:16.340 に答える
3

それを達成する方法は、マップ上のイベント「zoomend」にイベントを次のように登録することです

map.events.register(type, obj, listener);

詳細については、http: //dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.htmlを参照してください。

たぶん、両方の kml をロードしてから、ズーム レベルに応じて正しいレイヤーを非表示/表示する必要があります。

于 2012-05-23T13:16:19.923 に答える