2012-08-02 87 views
0

對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 

但是圈子沒有出現,我不知道爲什麼。誰能告訴我?

回答

3

您是否將您的緯度轉換爲您的地圖使用的投影?

測試: 嘗試使用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),