このコードを使用して編集できる行を作成しています:
var line_points = Array();
var lineLayer = new OpenLayers.Layer.Vector(label);
this.map.addLayer(lineLayer);
this.map.addControl(new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path));
for ( x in points ) {
var point = points[x].split(',');
var lat = parseFloat( point[0] );
var lon = parseFloat( point[1] );
line_points[x] = new OpenLayers.Geometry.Point(this.Lon2Merc(lon), this.Lat2Merc(lat));
}
var line = new OpenLayers.Geometry.LineString(line_points);
var lineFeature = new OpenLayers.Feature.Vector(line, null, style);
lineLayer.addFeatures([lineFeature]);
ポイントが移動または作成されて、そのデータを保存するために使用される HTML フォームを更新するたびに、この機能から緯度と経度を取得しようとしています。プロトコルなどについて聞いたことがありますが、それが私にとって正しいことだとは思いません。
誰かが私を正しい方向に向けてもらえますか?
編集: HTML から直接詳細を取得しようとしました:
var x = 0;
var y = 0;
$.each(document.getElementById("OpenLayers.Geometry.LineString_195").getAttribute("points").split(','), function(index, value) {
if(index%2){
y = value;
console.log(MercatorToLatLon(x,y).Lat + "," + MercatorToLatLon(x,y).Lon);
} else {
x = value;
}
//console.log(value);
});
しかし、これは有用な値を与えるようには見えず、奇妙に感じる特定の順序でもありません。