2015-05-19 61 views
0

我嘗試使用示例代碼從的OpenLayers例如網站創建與用戶進行互動圈:的OpenLayers 3 interaction.draw()

var draw = new ol.interaction.Draw({ 
    features: featureOverlay.getFeatures(), 
    type: 'Circle' 
}); 
map.addInteraction(draw); 

我總是得到一個TypeError當我設置,鍵入:Circle,但當我設置類型爲Point,LineStringPolygon它工作得很好。我查看了openlayers 3 API文檔,Circle是一個有效的幾何類型。有沒有人在這裏有任何信息,爲什麼我得到類型錯誤?

+0

您使用的是哪個版本? – bartvde

回答

1

圈加入到OL3的最新的一個版本(3.4) 現在最新的版本是3.5 我提出加圈的一個例子:

JS

https://cdnjs.cloudflare.com/ajax/libs/ol3/3.5.0/ol.js 

CSS

https://cdnjs.cloudflare.com/ajax/libs/ol3/3.5.0/ol.min.css 

Draw circle

var map = new ol.Map({ 
    target: 'map', 
    layers: [ 
    new ol.layer.Tile({ 
     source: new ol.source.MapQuest({layer: 'osm'}) 
    }) 
    ], 
    view: new ol.View({ 
    center: ol.proj.transform(
     [-110, 45], 'EPSG:4326', 'EPSG:3857'), 
    zoom: 3 
    }) 
}); 
var featureOverlay = new ol.FeatureOverlay({ 
    style: new ol.style.Style({ 
    fill: new ol.style.Fill({ 
     color: 'rgba(255, 255, 255, 0.2)' 
    }), 
    stroke: new ol.style.Stroke({ 
     color: '#ffcc33', 
     width: 2 
    }), 
    image: new ol.style.Circle({ 
     radius: 7, 
     fill: new ol.style.Fill({ 
     color: '#ffcc33' 
     }) 
    }) 
    }) 
}); 

featureOverlay.setMap(map); 


var draw = new ol.interaction.Draw({ 
    features: featureOverlay.getFeatures(), 
    type: 'Circle' 
}); 
map.addInteraction(draw); 
+0

謝謝你是我的Openlayers版本。我有v3.0。 – DBaby

+0

歡迎欣賞編碼:-) – talsibony