Convert lat long string into google maps API LatLng Object

▼魔方 西西 提交于 2019-12-23 05:04:17

问题


I am trying to convert a lat long string (53.3603, -6.315050000000042) into a google maps object in this format: B: -6.26747649999993 k: 53.339251

I have used this function which works for the long but returns Nan for the lat.

function getLatLngFromString(ll) {
        var lat = ll.replace(/\s*\,.*/, ''); // first 123
        var lng = ll.replace(/.*,\s*/, ''); // second ,456
        var locate = new google.maps.LatLng(parseFloat(lat), parseFloat(lng)); 
        return locate;
    }
    ;

I am storing the lat long in a html tag as it called to a list view connected to a map. It is stored here in the correct format however when I retrieve it using the jQuery .attr it converts it to a string.

var location = $(this).closest('.allList').attr("position");

Any help would be greatly appreciated.


回答1:


Assuming the lat/lng string looks like "10.5, -0.51"

function getLatLngFromString(ll) {
    var latlng = ll.split(/, ?/)
    return new google.maps.LatLng(parseFloat(latlng[0]), parseFloat(latlng[1])); 
}

Should work



来源:https://stackoverflow.com/questions/26890514/convert-lat-long-string-into-google-maps-api-latlng-object

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!