出于某种未知的原因,我的 latlng 对象返回 NaN。
HTML:
<td class="addresslatlng" style="display:none">(60.1932146, 24.9068178)</td>
<td class="addresslatlng" style="display:none">(60.1883387, 24.95304060000001)</td>
<td class="addresslatlng" style="display:none">(60.22956294570635, 24.877114473016377)</td>
and so on..
JS:
var geolocation = $(".addresslatlng").text();
var marker1 = $(".addresslatlng").each(function(){
var markers = [];
var value = $(this).text();
var strippedtemp = value.replace('(', '').replace(')','').replace(' ', '').replace(/\"/g, "");
var splittedtemp = strippedtemp.split(",");
var marker = splittedtemp;
markers.push(marker);
function setMarkers(map, locations) {
var myLatLng1 = new google.maps.LatLng(parseFloat(markers[0]), parseFloat(markers[1]));
var marker1 = new google.maps.Marker({
position: myLatLng1,
map: new google.maps.Map(document.getElementById('map-canvas2'))
});
};
setMarkers();
});
parsefloat(markers[0]) 工作正常,但由于某种原因,parsefloat(markers[1]) 将始终返回 NaN。此外,即使我将固定数字作为值,例如 new google.maps.LatLng(60.1932146, 60.1932146);,myLatLng1 也始终将第二个值返回为 NaN;
我一生都无法弄清楚为什么。有什么建议吗?
最佳答案
你必须使用
new google.maps.LatLng(parseFloat(markers[0][0]), parseFloat(markers[0][1]));
因为标记
位于一个包含一个元素的数组中,而该数组是一个包含两个元素的数组。
关于javascript - Google map API - LatLng 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21663167/