簡體   English   中英

Google Maps API-LatLng返回NaN

[英]Google maps API - LatLng returning NaN

由於某些未知原因,我的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。 即使我將固定數字作為值,例如mygoogle.maps.LatLng(60.1932146,60.1932146); myLatLng1也會始終以NaN返回第二個值。

無法為我的生活弄清楚原因。 有小費嗎?

你必須用

new google.maps.LatLng(parseFloat(markers[0][0]), parseFloat(markers[0][1]));

因為markers在具有一個元素的數組中,該元素是兩個元素的數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM