0

OpenLayers で、ベース イメージ レイヤー上の特定の定義済み領域に基づいて、ベース イメージ レイヤーから別のイメージ レイヤー (OpenLayers.Layer.Image) を開くことは可能ですか。たとえば、ベース イメージ レイヤーに 5 つの領域が設定されている場合、いずれか 1 つの領域にズームすると、それぞれのイメージ レイヤーが開き、ズーム アウトするとベース イメージ レイヤーに戻りますか?

はいの場合、これを達成する方法をいくつかのサンプルまたは方法で示すことができます。

4

2 に答える 2

0

私はそのような機能についての知識がありません - 地域に基づいた異なる画像レイヤー。しかし、自己ホスト型のカスタム タイルに興味があるでしょうか? どのように設定されているかについての情報を次に示します。アイデアは: 画像からタイル画像 (256x256 ピクセルなど) を作成し、1 つの大きな画像から多くのズーム レベルを作成するだけです。ただし、関心のある領域では、そこにあるタイル イメージを変更します。マイナス面は、あなたがしなければならないアクションの量です:すべての画像をタイルにカットし(または大きなタイルを使用している場合はカットしません)、手動でさまざまなズームレベルの画像のサイズを変更し、ズームレベルを構成し、最後に領域でタイルを変更する必要がありますあなたの興味の。画像編集が必要ですが、動作するはずです。

于 2013-04-25T00:26:00.413 に答える
0

多くの試行錯誤の後、OpenLayers.Layer.Imageをマップレイヤーに使用してOpenlayersで可能であることがわかりました。次に、円を表すベクター オーバーレイ レイヤー ( OpenLayers.Layer.Vector("Overlay") ) を作成し、オーバーレイ レイヤーとしてマップに追加します。

次に、マップのzoomendイベントを登録します。getZoom() メソッドに基づいて、 map.setBaseLayer (imageLayer2)を使用して画像を変更するコントロールがあります

于 2013-09-27T09:11:16.793 に答える