无法设置经度从 -180 到 0 的 LatLngBounds
unable to set a LatLngBounds with longitude from -180 to 0
当尝试设置新的 LatLngBounds
时,对于世界的西南季度,西南经度会自动设置在世界的另一端,导致 LatLngBounds 不一致(西南比东北更东)
a = new google.maps.LatLng(-90, -180, true);
a.lng();
=> -180
b = new google.maps.LatLng(0, 0, true);
c = new google.maps.LatLngBounds(a, b);
c.getSouthWest().lng();
=> 180
问题似乎不在于LatLng,而在于LatLngBounds。它们是其他参数还是其他方法,以便它可以代表世界的这一季度?
使用更多参数进行测试时,只有西南经度始终设置为 -180 : http://jsfiddle.net/vr6ztq9z/1/
纬度:
根据墨卡托投影,最大北纬不是 90,而是大约 85.05113。在 JavaScript 中,你可以做到:
Math.atan(Math.sinh(Math.PI)) * 180 / Math.PI;
这样,您就可以找到投影的真实南北边缘。
经度:
-180 和 180 的经度有什么区别?没有。
您仍然可以识别投影的所有 4 个季度:
var maxLat = Math.atan(Math.sinh(Math.PI)) * 180 / Math.PI;
var center = new google.maps.LatLng(0, 0);
var sw = new google.maps.LatLng(-maxLat, 180);
var ne = new google.maps.LatLng(maxLat, -180);
// Southwest part of the world
new google.maps.LatLngBounds(sw, center);
// Southeast part of the world
new google.maps.LatLngBounds(center, sw);
等等。
JSFiddle 演示
相关文章:
- 错误:180:引发异常(“dev!”):- 和错误:> aqsrv> 70:捕获异常(空) - 错误 -1
- 世界的最大纬度和长边界 - 谷歌地图API LatLngBounds().
- 具有敲除数据绑定的TinyMCE将180;t更新
- 创建一些圆弧超过180度的饼图
- 需要解释“+(x > 180)”或“+()”
- 新的google.maps.LatLngBounds()绑定扩展和中心工作随机
- 将矩阵数组旋转 180 度
- 如何在使用 map.fitBounds 之前确定 LatLngBounds 的缩放级别
- SVG 如何创建 180 度的贝塞尔曲线
- 如何使用javascript将LatlngBounds对象传递给nodejs服务器
- 无法设置经度从 -180 到 0 的 LatLngBounds
- 高图 - 旋转饼图,将单击的部分对齐到固定点 (180°)
- Intel Edison node.js示例代码不适用于BMP 180-gy68气压计
- 为什么window.innerHeight在水平方向时返回180
- Zurb基金会6:顶杆没有180;t崩溃
- Leaflet LatLngBounds具有更简单的CRS和投影
- 如何旋转180度
- 如何在悬停150毫秒的时间内将元素旋转到180度
- javascript赢得了180;我不在Twitter上工作;s Bootstrap,即使链接到正确的css/js文件是
- Three JS Camera Orientation以180度而不是360度返回值