我在javascript中有这行代码:
console.log(google.maps.LatLng(49.220341,17.649555));
并且控制台使用谷歌地图Lat和Lng返回对象,这是我的预期,但是:
然后我试着这样做:
var start = "49.220341,17.649555";
console.log(google.maps.LatLng(start));
但是控制台返回具有NaN值的空对象。
答案 0 :(得分:1)
Dave是对的,该函数只接受两个参数,而不是一个。如果你想将它们存储在这样的字符串中,你可以随时调用
var start = "49.220341,17.649555";
console.log(google.maps.LatLng(start.substring(0,start.indexOf(",")),start.substring(start.indexOf(",")+1)));
或
var start = "49.220341,17.649555";
var startArr=start.split(",");
console.log(google.maps.LatLng(startArr[0],startArr[1]));
这两个字符串都以逗号分隔。
答案 1 :(得分:0)
您正在传递一个lat / lng对的字符串,但是google.maps.LatLng
需要两个表示该对的字符串。您需要使用两个变量:
var lat = 49.220341;
var lng = 17.649555;
console.log(google.maps.LatLng( lat , lng ));
或数组:
var start = [49.220341,17.649555];
console.log(google.maps.LatLng(start[0],start[1]));
我更喜欢使用对象:
var start = ['lat':49.220341,
'lng':17.649555];
console.log(google.maps.LatLng(start['lat'],start['lng']));