2016-04-05 17 views
0

Ich erhalte einen Fehler beim Versuch, Markierungen auf einer Karte aus einem JSON-Feed anzuzeigen. Ich bekomme viele Adressen, und dann versuchen, die Long & Latitude für die Adresse zu bekommen, und dann auf einer Karte platzieren, aber ich bekomme einen Fehler: Kann nicht 'Geometrie' von undefined in der Konsole lesen.Google Maps: Eigenschaft 'Geometrie' von undefined kann nicht gelesen werden

der Code:

$.getJSON(apiUrl, function(data) { 
      var delay = 0, 
       p, 
       contentString, 
       iconBase; 

      _.each(data, function (value, key) { 

       var link = value.LinkUrl, 
        address = value.Address, 
        content = "<div class='info-address'>" + address + "</div> 
           <div class='info-message'>" + value.OpeningHoursMessage + "</div> 
           <div class='info-link'><a href='"+ value.LinkUrl +"'>Læs mere</a></div>"; 
       console.log("Adresse: " + address); 
       $.getJSON('http://maps.googleapis.com/maps/api/geocode/json?address='+address+', Danmark', null, function (data) { 


         p = data.results[0].geometry.location, 
         contentString = content, 
         iconBase = '/static/dist/img/'; 

         //console.log("Værdi" + p); 

         var latlng = new google.maps.LatLng(p.lat, p.lng); 
         var marker = new google.maps.Marker({ 
          position: latlng, 
          map: map, 
          animation: google.maps.Animation.DROP, 
          icon: iconBase + 'maps-marker.png', 
          url: link 
         }); 

         //If single lookup, then center to position 
         if(DOM.dataAddress.length) { 
          var pos = {lat: lat, lng: lng}; 
          map.setCenter(pos); 
         } 

         bindInfoWindow(marker, map, infowindow, contentString); 

         DOM.markersArray.push(marker); 


       }); 
      }); 
     }); 
+1

Versuchen Sie console.log auf Ihre data.results, Sie versuchen, etwas zu bekommen, das nicht da ist, es meldet, dass data.results [0] nicht definiert ist. Debuggen Sie es und sehen Sie, mein Geld ist auf, dass Sie data.results.geometry.location aufrufen müssen. – Eihwaz

+0

Mögliche Duplikate von [Holen Sie sich die Lat und lng ist manchmal NULL mit Google Map API json] (http://StackOverflow.com/Questions/33068216/get-the-lat-and-lng-sometime-is-null-with- Google-Karte-api-json) – geocodezip

Antwort

0

Es sieht aus wie die Antwort according to the docs ein Array sein sollte. Vielleicht hat eine der von Ihnen angeforderten Adressen keine Ergebnisse? Sie sollten eine Überprüfung vornehmen, nachdem Sie die JSON-Anfrage an die Karten-API gestellt haben.

Verwandte Themen