我創建可使用此代碼進行編輯的行:的OpenLayers保存功能
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);
});
,但這似乎並沒有給出任何有用的值,並在其中我覺得奇怪沒有特定的順序。
在我接受之前,是否有可能在每次特徵幾何變化時觸發一個函數? – Josh 2012-04-13 14:34:20
肯定看到我的更新。我想你可能想'功能修改' – capdragon 2012-04-13 15:09:40
可愛的東西!乾杯。 – Josh 2012-04-13 15:14:57