我想将带有“(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);
答案 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);