1

私はopenlayersを介してopenstreetmapを操作しようとしていますが、理解できないJavascript構文の問題に遭遇しました(私はJavascriptの専門家ではありません-現時点でオブジェクトの処理方法を学び始めたばかりです...)

とにかくここにあります...

map = new OpenLayers.Map ("map", {
 controls:[
  new OpenLayers.Control.Navigation(),
  new OpenLayers.Control.PanZoomBar(),
  new OpenLayers.Control.LayerSwitcher(),
  new OpenLayers.Control.Attribution()],
 maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
    maxResolution: 156543.0399,
 numZoomLevels: 19,
 units: 'm',
 projection: new OpenLayers.Projection("EPSG:900913"),
 displayProjection: new OpenLayers.Projection("EPSG:4326")
} );

これは単に、マップコンストラクターの最初のパラメーターが期待どおりであると言っているのでしょうか。{...}は名前付きパラメーターのコレクションを囲んでいますか?

それは私にはそれがどのように見えるかですが、私はそれをもう少しよく知っている誰かからのうなずきをいただければ幸いです...

乾杯、

4

3 に答える 3

2

最初のパラメーターはマップを含むHTML要素であり、2番目のパラメーターは拡張オプションを含むオブジェクトです。プロパティ「controls」、「maxExtent」などはそのオブジェクトのプロパティであり、OpenLayersは後でoptions.maxExtent、たとえば、名前を使用してそれらにアクセスできるようになります(ここのドキュメントを参照)。

于 2010-02-20T11:24:48.360 に答える
2

MDCでのオブジェクトリテラルおよびオブジェクトイニシャライザの使用を参照してください。

于 2010-02-20T11:25:22.463 に答える
1

{ foo: bar, bax: qux }構文はオブジェクトリテラルです。オブジェクトを作成し、それらのフィールドを設定します。

于 2010-02-20T11:23:06.960 に答える