将lat long字符串转换为google maps API LatLng Object

时间:2014-11-12 15:26:49

标签: javascript jquery google-maps-api-3 latitude-longitude

我正在尝试将lat长字符串(53.3603,-6.315050000000042)转换为此格式的Google地图对象:B:-6.26747649999993 k:53.339251

我已经使用了这个功能,它可以长时间工作但是为纬度返回Nan。

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;
    }
    ;

我将lat long存储在html标记中,因为它调用了连接到地图的列表视图。它以正确的格式存储在这里,但是当我使用jQuery .attr检索它时,它将它转换为字符串。

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:13)

假设lat / lng字符串看起来像“10.5,-0.51”

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

应该工作