我的 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 值的空对象。
我的 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 值的空对象。
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]));
这两个都将逗号周围的字符串分开。
您正在传递 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']));