圆圈未在OpenLayers中显示

时间:2012-08-02 20:46:07

标签: coffeescript openlayers

OpenLayers非常新,并试图在点击的原点周围的地图上绘制一个圆圈。我有这个代码 -

circleLayer = new OpenLayers.Layer.Vector "Circle Search"
circle = new OpenLayers.Geometry.Polygon.createRegularPolygon(
  new OpenLayers.Geometry.Point(lat,lon),
  100,
  30
  )
console.log(circle)
feature = new OpenLayers.Feature.Vector(circle)
circleLayer.addFeatures(feature)
mapApp.map.openLayersMap.addLayer circleLayer

但圆圈没有出现,我不知道为什么。有谁能告诉我?

1 个答案:

答案 0 :(得分:3)

您是否将lat lon转换为地图使用的投影?

测试: 尝试使用0,0代表lon,使用更大的圆圈,看看它是否出现在非洲中东部沿海地区。

如果那就是问题,那么这就是你如何进行转换:

在顶部添加:

 projLatLon = new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
 projMap = new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection

然后示例代码的第三行变为:

 new OpenLayers.Geometry.Point(lat,lon).transform(projLatLon,projMap),