0
マップ上のマーカーをJSONフィードから表示しようとするとエラーが発生します。私はアドレスをたくさん取得してからロングを取得しようとしました&アドレスの緯度を地図上に配置しましたが、エラーが発生しました:コンソールで未定義のプロパティ 'geometry'を読み取ることができません。Googleマップ:未定義の 'ジオメトリ'プロパティを読み取ることができません
コード:
$.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);
});
});
});
あなたのdata.resultsでconsole.logを試してみると、そこにないものを取得しようとしていますが、data.results [0]は未定義であると報告しています。それをデバッグして見て、私のお金はあなたがdata.results.geometry.locationを呼び出さなければならないということです。 – Eihwaz
可能性のある[Google Maps api jsonでlatとlngをヌルにする]の可能な複製(http://stackoverflow.com/questions/33068216/get-the-lat-and-lng-sometime-is-null-with- google-map-api-json) – geocodezip