我已经看到了如何绘制线条的示例here,但示例仅显示了如何使用鼠标进行操作,点击。
我想要做的是在给定经度和纬度坐标列表的情况下使用JavaScript手动绘制线。
我无法处理上述链接中提供的来源的原因是因为他们只在该功能上调用activate
,然后让用户指向并点击地图。
有没有人以编程方式在OpenLayers地图上绘制路径?
我想要做的就是:http://openspace.ordnancesurvey.co.uk/openspace/example4.html,但不使用OpenSpace。
答案 0 :(得分:53)
您需要使用LineString对象
以下是一个例子:
var lineLayer = new OpenLayers.Layer.Vector("Line Layer");
map.addLayer(lineLayer);
map.addControl(new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path));
var points = new Array(
new OpenLayers.Geometry.Point(lon1, lat1),
new OpenLayers.Geometry.Point(lon2, lat2)
);
var line = new OpenLayers.Geometry.LineString(points);
var style = {
strokeColor: '#0000ff',
strokeOpacity: 0.5,
strokeWidth: 5
};
var lineFeature = new OpenLayers.Feature.Vector(line, null, style);
lineLayer.addFeatures([lineFeature]);
假设map
是您的地图对象,而lon
和lat
是浮动值。
答案 1 :(得分:1)
答案 2 :(得分:0)