Вопрос

I am trying to iterate through GeoJSON map.data using a forEach. I want to return the position (LatLng) of each feature so I can add it to my markers array based on a feature property. Here's my attempt:

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);
    } 
  });

I want to create a marker for the ones I want and remove those from the map.data and keep the remaining map.data for reference.

Any tips/suggestions are always appreciated.

Это было полезно?

Решение

It turns out that all I needed to change was "feature.getGeometry().latLng" to "feature.getGeometry().get()" like what was mentioned in the comments by @geocodezip.

I had tried "feature.get()" and that obviously didn't make sense. Not sure why I had the oversight. So what was obviously needed was:

LatLng = feature.getGeometry().get();

Thanks for the help.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top