2

有害廃棄物サイトを表示するOpenLayers+Bingマッピングアプリケーションがあります。ユーザーはリンクをクリックして、マップ上のサイトのサブサイトを切り替えることができます。

レイヤーでdestroyFeatures()を呼び出してサブサイト(ベクターレイヤー上のポイント)をオフに切り替えると、期待どおりに消えます。ただし、マップをズームインまたはズームアウトすると、特定のサブサイトが再表示されます。これは、マップを移動するときは発生せず、ズームするだけです。

不思議なことに再現されるのは、一致するサイト、つまりまったく同じ座標を持つ2つのサイトです。両方が破壊され、両方が再表示されます。

なぜこれらはレイヤーから破壊され、ズーム時に再び表示されるのでしょうか?

(OpenLayersのバージョンは2.11です)

4

3 に答える 3

0

destroyFeatures() はベクター内のオブジェクトのインデックスを変更することに注意してください。コードでインデックスを使用すると、問題が発生する可能性があります。

于 2012-08-10T07:29:34.317 に答える
0

すべての機能をパラメーターとしてdestroyFeatures()メソッドに送信してもよろしいですか? すべてを削除する簡単な方法は、removeAllFeatures()メソッドを呼び出すことです。ユーザーがサブサイトを切り替えたときに機能を非表示および表示する場合は、ベクターレイヤーでshow()andメソッドを使用することをお勧めします。hide()

于 2012-08-15T15:19:16.330 に答える