我想使用ol.genom.lineString在地图上显示线条,我的计划是将来使用multiLineString同时实现3行。我的问题是我无法弄清楚应该如何实现LineString。这就是我现在所处的位置:
http://jsfiddle.net/6RS2z/125/
(function(){
var map = new ol.Map({
layers: [new ol.layer.Tile({source: new ol.source.OSM()})],
target: document.getElementById('map'),
view: new ol.View({
center: [0, 0],
zoom: 1
})
});
var vectorSource = new ol.source.Vector({
//create empty vector
});
var plyFeature = new ol.Feature({
genometry : new ol.geom.LineString([0,0,18,60], 'EPSG:4326', 'EPSG:3857')
});
vectorSource.addFeature(plyFeature);
var plyLayer = new ol.layer.Vector({
source : vectorSource
})
map.addLayer(plyLayer);
})();
答案 0 :(得分:6)
要创建ol.geom.LineString
,您需要提供一个点数组作为第一个构造函数参数:
var geom = new ol.geom.LineString([[0, 0], [18, 60]]);
要将几何图形转换为视图投影,请执行以下操作:
geom.transform('EPSG:4326', 'EPSG:3857');
创建ol.geom.MultiLineString
时,您提供一系列线串作为第一个构造函数参数:
var multigeom = new ol.geom.MultiLineString([
[[0, 0], [18, 60]],
[[18, 60], [9, 30]]
]);
对于所有几何类型,坐标转换的工作方式相同。