1

OpanLayers 2.10 をOpenLayers.Control.Measureマップ コントロールに追加しようとすると、次のエラーが発生します。

TypeError: Object #<Object> has no method 'setMap'

これは私のコードです:

map.addControl(new OpenLayers.Control.Measure(
OpenLayers.Handler.Path, {
  persist: true
}));

OpenLayers.Handler.Path注:コードをデバッグした後CLASS_NAME、オブジェクトの が であることがわかったので、私の問題は に関連していると思いますOpenLayers.Handler.Path

私のコードの問題は何ですか?特定のモジュール/プラグインをマップに追加する必要がありますか?

4

1 に答える 1

2

最後に、解決策を見つけました。この問題は、カスタム ビルドの使用と、モジュールをメインの OpenLayers ファイルに追加する優先順位に関連しています。

私はこのように使用Control.PointControl.Pathました:

  1. コントロールパス
  2. 制御点

どちらが正しくなく、正しい順序/優先順位は次のとおりです。

  1. 制御点
  2. コントロールパス

これで、OpenLayers モジュールを含める順序を変更した後、すべて正常に動作します。

于 2013-02-28T22:51:42.247 に答える