【问题标题】:Google Maps API 3: NaN While storing lat long co-ordinates in an array?Google Maps API 3:NaN 在数组中存储经纬度坐标时?
【发布时间】:2014-01-07 14:14:31
【问题描述】:

我有一组从数据库中收到的针对特定事件的经纬度点。我收到以下形式的坐标:

18.9362430987942 72.8269794968548
19.0200931221883 72.8436302614116
19.0547926 72.8406549

我需要将此坐标存储在数组中,然后将此数组推送到航点中以绘制路线。但是当我尝试将值放入

var geoLatLong=new google.maps.LatLng(linkData);

在发出geoLatLong..的警报后,我收到(Nan,NaN)..请帮助。

请找到我为我从数据库收到的坐标尝试过的代码。

load : function(response) 
    {
        for(var i=0;i<response.length;i++)
        {
            if(response[i].linkData!='undefined')
            {
            link=response[i].linkData;
            alert(link);
            var linkValue=link.split(" ");
            var linkData=linkValue[0]+","+linkValue[1];  
            alert("linkdata"+linkData);
            var geoLatLong=new google.maps.LatLng(linkData);
            alert(geoLatLong);
            geoLatLongArray.push(geoLatLong);
            alert(geoLatLongArray);
            }
        }

    }

【问题讨论】:

    标签: javascript google-maps google-maps-api-3


    【解决方案1】:

    您不能将纬度/经度作为 string 数据类型传递给 google.maps.LatLng。因此,您需要使用parseFloat() 将dataType 转换为float

    所以改一下代码

    var lat = parseFloat(linkValue[0]);  //convert string to float
    var lon = parseFloat(linkValue[1]);  //convert string to float
    var geoLatLong=new google.maps.LatLng(lat, lon); 
    

    现在将其推送到geoLatLongArray

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 2013-09-29
      • 2015-12-25
      相关资源
      最近更新 更多