谷歌地图中设置了意外的LatLng

时间:2013-03-08 23:02:10

标签: javascript google-maps-api-3

我在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值的空对象。

2 个答案:

答案 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']));