我想将一个 LatlngBounds 对象从客户端传递到 nodejs 服务器。
var bounds = map.getBounds();
socket.emit('sendbounds', bounds);
在服务器中:
socket.on('sendbounds',function(data){
console.log(data);
data.getNorthEast();// undefined method getNorthEast()
}
服务端可以获取到客户端发送过来的数据。但是我无法使用方法 getNorthEast()。
我的解决方案是创建一个对象 LatlngBounds:
bounds = new google.maps.LatLng(data.Ea.k, data.va.j),
new google.maps.LatLng(data.Ea.j, data.va.k));
但是不推荐这样做,因为我们不能确定键名总是“Ea”和“va”。 我注意到有时键名是“Fa”和“wa”。它们是“未记录的属性”。它们随 API 版本而变化。
有解决这个问题的方法吗?
最佳答案
我也那样试过,但遇到了同样的问题:不能依赖变量名。
相反,我将它作为字符串而不是对象传递给服务器:
corners = map.getBounds();
var c = corners.toString();`
然后使用任何 AJAX 库将字符串发送到服务器。 它看起来像这样:
((33.94310833405608, -118.44952616442868), (33.985820303992334, -118.34120783557125))
您将不得不使用正则表达式将其分开,但至少它的格式可靠。
关于javascript - 如何使用 javascript 将 LatlngBounds 对象传递给 nodejs 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27264829/