将String转换为latlng谷歌地图

时间:2011-07-21 14:52:06

标签: google-maps-api-3

我想将带有“(53.324523,43.252352)”等模式的String转换为latlng。我已经找到了正确的功能:

var input = latlngArray[i];
var latlngStr = input.split(",",2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
latlngArray[i] = new google.maps.LatLng(lat, lng);

问题是我无法得到合适的纬度。当我使用alert显示它时它只显示NaN,而lng变量显示正确的值。

知道了。谢谢你的帮助。

var input = latlngArray[i].substring(1, latlngArray[i].length-1);
var latlngStr = input.split(",",2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
latlngArray[i] = new google.maps.LatLng(lat, lng);

2 个答案:

答案 0 :(得分:2)

var输入后快速修复。看起来'('正在搞乱转换:

input = input.replace('(','');

答案 1 :(得分:0)

一般解决方案可以是:

var locationToStringed = "(53.324523, 43.252352)";
var input = locationToStringed.replace('(', '');
var latlngStr = input.split(",", 2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var parsedPosition = new google.maps.LatLng(lat, lng);