0

对 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

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

4

1 回答 1

3

您是否将您的纬度转换为地图使用的投影?

测试:尝试使用 0,0 表示 lon,lat 和更大的圆圈,看看它是否出现在非洲中东部海岸附近。

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

在顶部添加:

 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),
于 2012-10-30T08:52:44.470 回答