【问题标题】:Convert lat long string into google maps API LatLng Object将纬度长字符串转换为谷歌地图 API LatLng 对象
【发布时间】:2014-11-12 15:26:49
【问题描述】:

我正在尝试将 lat long 字符串 (53.3603, -6.315050000000042) 转换为以下格式的谷歌地图对象:B: -6.26747649999993 k: 53.339251

我使用了这个函数,它适用于 long,但返回 Nan 作为 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;
    }
    ;

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

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

任何帮助将不胜感激。

【问题讨论】:

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


    【解决方案1】:

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

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

    应该有效

    【讨论】:

    • 谢谢。但是它仍然返回 k: NaN, B: -6.315050000000042, .
    • 边缘周围有括号被夹住。使用这个:function getLatLngFromString(location) { var latlang = location.replace(/[()]/g,''); var latlng = latlang.split(','); //console.log(latlang);定位 = 新 google.maps.LatLng(parseFloat(latlng[0]) , parseFloat(latlng[1]));返回定位; }
    • 你拯救了我的一天!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    • 1970-01-01
    相关资源
    最近更新 更多