32

ここに示した線の描画方法の例を見てきましたが、これらの例は、マウスをクリックして描画する方法のみを示しています。

私がやりたいのは、経度と緯度の座標のリストを指定して、JavaScriptを使用して手動で線を引くことです。

上記のリンクで提供されているソースで作業できない理由はactivate、機能を呼び出しているだけなので、ユーザーが地図をポイントしてクリックできるようにするためです。

誰かがプログラムでOpenLayersマップにパスを描いたことがありますか?

私がやりたいのはまさにこれです:http://openspace.ordnancesurvey.co.uk/openspace/example4.html、ただしOpenSpaceは使用しません。

4

3 に答える 3

54

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がマップ オブジェクトでありlonlatが浮動小数点値であると仮定します。

于 2010-04-29T19:44:19.390 に答える
1

このページは、 openlayers を使用した JavaScript によるアニメーションの典型的な例です。

フィルター戦略を使用して、どの時点で何を表示するかを定義します。

完全な JavaScript が利用可能です。

于 2013-02-15T14:33:28.233 に答える
-1

私はこれまで自分でやったことはありませんが、OpenSteetMapがやっていることは知っています。例えば:

http://www.openstreetmap.org/?way=23649627

彼らのコードを処理するのがどれほど難しいかはわかりません。

于 2010-04-29T09:01:43.477 に答える