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
但圆圈没有出现,我不知道为什么。有谁能告诉我?
答案 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),