私は提示された例を見てきました ここ 線を描く方法の例ですが、例はクリックしてマウスでそれを行う方法を示しています。
私がやりたいのは、経度と緯度の座標のリストを指定してJavaScriptを使用して手動で線を引くことです。
上記のリンクで提供されているソースで作業できないのは、機能でactivate
を呼び出しているだけなので、ユーザーにマップをポイントしてクリックさせるためです。
OpenLayersマップにプログラムでパスを描いた人はいますか?
私がやりたいのはこれだけです: http://openspace.ordnancesurvey.co.uk/openspace/example4.html ですが、OpenSpaceを使用しません。
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
が浮動小数点値であると仮定します。
私自身、これまで自分でやったことはありませんが、OpenSteetMapがそれを行うことは知っています。例えば:
http://www.openstreetmap.org/?way=23649627
コードを処理するのがどれほど難しいかはわかりません。