创建地图后,OpenLayers会在每次调用时抛出异常

时间:2015-03-17 17:36:15

标签: openlayers-3

我正在尝试使用OpenLayers 3.3.0(尝试过3.2.0)并且我遇到了一些问题。创建Map对象可以正常工作,但之后我在地图对象上调用的所有内容都会失败。

简单:

myMap = new ol.Map({
  target: 'MainMap',
  layers: [
    new ol.layer.Tile({
      source: new ol.source.MapQuest({
        layer: 'sat'
      })
    })
  ],
  view: new ol.View({
    center: ol.proj.transform([37.41, 8.82], 'EPSG:4326', 'EPSG:3857'),
    zoom: 4
  })
});

alert(myMap.getCenter());

不起作用,我得到“Uncaught TypeError:undefined不是函数”。 我老实说不确定我做错了什么,我看了一些例子并尝试寻找问题,但我找不到任何错误。

1 个答案:

答案 0 :(得分:1)

根据Map's documentation没有 getCenter方法。但是,调用getView会返回ol.View对象,“管理属性,例如center(...)”

直接在http://openlayers.org/上将代码复制粘贴到JS控制台中,最后一行更改为:

myMap.getView().getCenter();

打印:

  

[4164462.1505763642,985738.7965919945]


你在创建地图后的每次通话中的“异常”是什么意思和“我在地图对象上调用的所有内容都会失败”?在JS控制台中很容易验证所有记录的方法都能正常工作。