我想在每次单击 map 上的某个要素时记录坐标。我所做的是:
当我单击 map 时,我会调用 map.on('singleclick')
函数并从返回的图层要素中获取 featureInfo。返回的对象如下所示:
geometry: Object
coordinates: Array[1]
type: "MultiPolygon
geometry_name: "the_geom"
id: "Kreise.5"
其中坐标数组包含所需的坐标。然后我调用一个函数,将属性:图层、几何名称和坐标推送到几何数组。
var setGeometry = function (layer, geom, flatCoordinates) {
var geometry = [];
geometry.push([{
layer: layer,
geom: angular.uppercase(geom),
flatCoordinates: setFlatCoordinates(flatCoordinates)
}]);
console.log(geometry);
};
不幸的是,每次我单击 map 并调用此函数时,它都不会向该数组添加新的几何对象,而只是覆盖旧的属性。
我尝试将这些属性推送到 map.on('singleclick')
函数中的本地数组,该函数将按预期工作,但我希望有一个调用该函数的解决方案多于。有什么想法吗?
最佳答案
没关系,通过重新阅读这个问题,我注意到我应该在被调用函数之外声明几何数组。因为调用该函数总是会实例化一个新数组并覆盖旧数组。
关于javascript - 如何记录图层要素上请求的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31430806/