1

OSMマップで2点間に線を引きたい

map = new OpenLayers.Map();

var start_point = new OpenLayers.Geometry.Point(0,10);
var end_point = new OpenLayers.Geometry.Point(30,0);

var vector = new OpenLayers.Layer.Vector();
vector.addFeatures([new OpenLayers.Feature.Vector(new OpenLayers.Geometry.LineString([start_point, end_point]))]);
map.addLayers([vector]);

このコードを試してみましたが、うまくいかなかったので、助けてください。

4

1 に答える 1

1

線ストリングを描画するためのコードは正しいです。コード全体とエラーの正確な説明を投稿しなかったので、2つの大げさな推測だけです。マップは900913投影であり、座標はWGSである可能性があります。それらを変換します:

var start_point = new OpenLayers.Geometry.Point(0,10);
var end_point = new OpenLayers.Geometry.Point(30,0);

start_point.transform(
    new OpenLayers.Projection("EPSG:4326"),
    new OpenLayers.Projection("EPSG:900913")
); 
end_point.transform(
    new OpenLayers.Projection("EPSG:4326"),
    new OpenLayers.Projection("EPSG:900913")
); 

また、ビューを合わせる必要がある場合もあります。

map.zoomToMaxExtent();
于 2013-01-03T10:13:17.140 に答える