OL3中地图setCenter或zoom后矢量数据层不可见

In OL3, vector data layer not visible after map setCenter or zoom

正在迁移地图以使用 OL3。当我在地图上调用 map.getView().setCenter 或 map.getView().zoom 时,地图运行正常,但我的矢量数据层不再可见。我必须在地图上进行 MouseWheelZoom 交互,然后显示数据层。这类似于在这个未回答的 Whosebug post (How to reload WMTS Tiles after progromattically changing the map center and zoom?) 中发现的问题,只是我的地图图块渲染正确,是我的矢量图层不可见。

我正在创建 WMS 切片图层并使用此进行映射:

  div = @get 'element'

  layers = [ new (ol.layer.Tile)(
    title: 'Imagery'
    source: new (ol.source.TileWMS)(
      url: WMS_VMAP_MAP_SERVER_URL
      name: 'VMAP'
      params:
        LAYERS: 'basic'
        FORMAT: 'image/png'
        TRANSPARENT: true)) ]

  map = new (ol.Map)(
    interactions: ol.interaction.defaults().extend([ new (ol.interaction.Select)(style: selectedIconStyle) ])
    controls: ol.control.defaults().extend([ new (ol.control.ScaleLine)(units: 'nautical') ])
    layers: layers
    target: div
    view: new (ol.View)(
      projection: 'EPSG:4326'
      center: [
        0
        0
      ]
      zoom: 1
      maxResolution: 0.703125))

一个单独的功能是使用这个创建的:

        feature = new ol.Feature({
            geometry: new ol.geom.Point([lng, lat], 'XY'),
            title: 'some title'
            latitude: lat
            longitude: lng
        })
        vectorSource.addFeature feature

矢量图层是这样添加的:

vectorLayer = new (ol.layer.Vector)(
  source: vectorSource  #new (ol.source.Vector)({})
  style: circleIconStyle  #my defined icon style
  id: 'MYDATA'
)
map.addLayer vectorLayer

并且当以下事件触发时...

  map.on('singleclick', (e) ->
    map.forEachFeatureAtPixel(e.pixel, ((feature, layer) ->
    ...
    )
  )

...作为事件处理程序的一部分,我正在这样做:

        map.getView().setCenter [
          feature.get('longitude')
          feature.get('latitude')
        ]
        map.getView().setZoom 3

地图正确居中和缩放,但默认情况下不显示我的矢量图层数据。为了在 setCenter 或缩放视图后刷新数据层,还有什么我没有做或没有调用的吗?还是我的设置方式不正确?

谢谢

已修复。问题是坐标被视为几何的字符串而不是数字。解决方法是确保在设置坐标的位置,将它们明确视为数字以消除等式中的歧义。所以我在地图代码中设置 lat/lon(或 latitude/longitude)的任何地方,我都使用 Number(lat) 和 Number(lon) 代替。

支持 Eric Lemoine 回答位于 http://comments.gmane.org/gmane.comp.gis.openlayers.devel.ol3/4773 的另一个问题,因为我在那里看到了他对标记显示问题的解决方案,并认为它也可能解决我的问题。确实如此。