我正在尝试使用forEach迭代GeoJSON map.data。我想返回每个要素的位置(LatLng),以便我可以根据要素属性将其添加到我的marker数组中。这是我的尝试:
allMarkers = [];
jQuery.getJSON('json.php', function(data){
points = map.data.addGeoJson(data);
});
var eid = 30;
map.data.forEach(function(feature){
if(feature.getProperty('eid') === eid){
LatLng = feature.getGeometry().LatLng; //not sure how to get LatLng
id = feature.getProerty('id');
var marker = new google.maps.Marker({
position: LatLng,
map: map,
draggable: true,
id: id,
icon: imageActive,
});
allMarkers[id] = marker;
map.data.remove(feature);
}
});
我想为我想要的那些创建一个标记,并从map.data中删除它们并保留剩余的map.data以供参考。
任何提示/建议总是受到赞赏。
答案 0 :(得分:3)
事实证明,我需要改变的是" feature.getGeometry()。latLng" to" feature.getGeometry()。get()"就像@geocodezip的评论中提到的那样。
我曾尝试过" feature.get()"而这显然没有意义。不知道为什么我有疏忽。所以显然需要的是:
LatLng = feature.getGeometry().get();
感谢您的帮助。