OpenLayers でズームを制御したい。
ズームが 3 のときは KML1 を読み込み、ズームが 4 のときは KML2 を読み込みます。
ズームイベントを制御する方法を教えてください。
OpenLayers でズームを制御したい。
ズームが 3 のときは KML1 を読み込み、ズームが 4 のときは KML2 を読み込みます。
ズームイベントを制御する方法を教えてください。
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);
}
}
それを達成する方法は、マップ上のイベント「zoomend」にイベントを次のように登録することです
map.events.register(type, obj, listener);
詳細については、http: //dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.htmlを参照してください。
たぶん、両方の kml をロードしてから、ズーム レベルに応じて正しいレイヤーを非表示/表示する必要があります。