javascript - 如何使用 javascript 将 LatlngBounds 对象传递给 nodejs 服务器

标签 javascript node.js google-maps

我想将一个 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/

相关文章:

javascript - Google Map V3 上的可拖动图标 - 设置为 Draggable=True,但不能拖动它

javascript - 如何使用javascript的reduce方法使数组唯一

javascript - 从 URL 中完全删除哈希值

javascript - 完全删除 D3 中的路径填充

node.js - collection.Aggregate 不适用于具有另一个对象数组的对象数组

javascript - 设置空数组索引

javascript - 谷歌回调API

javascript - 现代浏览器中 HTML 4 网站上的 LocalStorage?

javascript - 请修复代码 append() 和 empty()

node.js - block Node js路由