Polygon OpenLayers 3获取WKT多边形字符串
我有一个openlayers 3地图,在那里我可以画多边形 我会返回表示已绘制多边形的WKT字符串 我怎么做 JSFIDLE代码 这是我的地图:Polygon OpenLayers 3获取WKT多边形字符串,polygon,geospatial,openlayers-3,wkt,Polygon,Geospatial,Openlayers 3,Wkt,我有一个openlayers 3地图,在那里我可以画多边形 我会返回表示已绘制多边形的WKT字符串 我怎么做 JSFIDLE代码 这是我的地图: map = new ol.Map({ target: 'map', layers: [raster,vector], view: new ol.View({ center: ol.proj.fromLonLat([11.249367, 43.774298
map = new ol.Map({
target: 'map',
layers: [raster,vector],
view: new ol.View({
center: ol.proj.fromLonLat([11.249367, 43.774298]),
zoom: 15
})
});
以下是帮助我绘制多边形的插图:
function addInteraction() {
var ct = 0;
draw = new ol.interaction.Draw({
source: source,
type: 'Polygon',
geometryFunction: function (c, g) {
if (goog.isDef(g)) {
g.setCoordinates(c);
} else {
g = new ol.geom.Polygon(c);
}
if (c[0].length > ct) {
console.log('click coord : ' + c[0][c[0].length - 1]);
var coord = c[0][c[0].length - 1];
$('div#coordinate').html( $('div#coordinate').html() + "<p>" + ( Number(coord[0]).toFixed(2) ) + " - " + ( Number(coord[1]).toFixed(2) ) + "</p>" );
coordinates.push(coord);
ct = c[0].length;
} else {
console.log('move coord : ' + c[0][c[0].length - 1]);
}
return g;
}
});
draw.on('drawend', function(e) {
isin = e;
checkIfIn();
lastFeature = e.feature;
//write WKT Polygon Code in div#getAsWK
})
draw.on('drawstart', function (e) {
source.clear();
});
map.addInteraction(draw);
}
map.addInteraction(draw);
ol3包含用于此目的的ol.format.WKT类。 使用如下的writeGeometry方法:
var format = new ol.format.WKT(),
wkt = format.writeGeometry(yourFeature.getGeometry());
见API文档:
Fiddle:ol3包含用于此目的的ol.format.WKT类。 使用如下的writeGeometry方法:
var format = new ol.format.WKT(),
wkt = format.writeGeometry(yourFeature.getGeometry());
见API文档:
小提琴: