3

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 Answer 1

17

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

Sign up to request clarification or add additional context in comments.

2 Comments

Thanks. However it's still returning k: NaN, B: -6.315050000000042, .
There was brackets around the edge which were getting caught. Used this: function getLatLngFromString(location) { var latlang = location.replace(/[()]/g,''); var latlng = latlang.split(','); //console.log(latlang); locate = new google.maps.LatLng(parseFloat(latlng[0]) , parseFloat(latlng[1])); return locate; }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.