Google maps api 3 将字符串转换为谷歌地图

Google maps api 3 将字符串转换为谷歌地图,google-maps-api-3,Google Maps Api 3,我想将具有类似“(53.324523,43.252352)”模式的字符串转换为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); 问题是

我想将具有类似“(53.324523,43.252352)”模式的字符串转换为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);
问题是我无法获得正确的lat。当我使用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);

var输入后的快速修复。看起来“(”正在破坏lat转换:

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

一般解决方案可以是:

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

我已经认为可能是这样的。我想我需要寻找一个删除这些内容的函数。请注意,您的解决方案假定“(”始终位于位置0。开头的空格将打断代码。此外,您实际上不需要删除结尾的“)'因为解析字符串中的第一个字符是一个数字,因此将忽略字符串中所有剩余的字符。