0

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

4

2 回答 2

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

这两个都将逗号周围的字符串分开。

于 2013-03-08T23:10:15.680 回答
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']));
于 2013-03-08T23:04:02.553 回答