我想在每次点击地图上的某个要素时记录坐标。我所做的是:
当我点击地图时,我会调用map.on('singleclick')
函数并从返回的图层功能中获取featureInfo。返回的对象如下所示:
geometry: Object
coordinates: Array[1]
type: "MultiPolygon
geometry_name: "the_geom"
id: "Kreise.5"
坐标数组包含所需坐标。然后我调用一个函数来推动属性:layer,geometry_name和coordinates到几何数组。
var setGeometry = function (layer, geom, flatCoordinates) {
var geometry = [];
geometry.push([{
layer: layer,
geom: angular.uppercase(geom),
flatCoordinates: setFlatCoordinates(flatCoordinates)
}]);
console.log(geometry);
};
不幸的是,每当我点击地图并调用此函数时,它都不会向此数组添加新的几何对象,它只会覆盖旧属性。
我试图将这些属性推送到map.on('singleclick')
函数中的本地数组,该函数将按预期工作,但我想要一个调用上述函数的解决方案。有什么想法吗?
答案 0 :(得分:1)
没关系,通过重新阅读这个问题,我注意到我应该在被调用函数之外声明几何数组。由于调用该函数将始终实例化一个新数组并覆盖旧数组。