我正在使用 Google Maps API V3 绘制 1 英里乘 1 英里的正方形。
问题:从API 参考中,该bounds
属性可用于定义矩形对象的大小,但根据 LatLng 坐标。给定一个特定点的 LatLng,我们如何绘制一个 1 英里乘 1 英里或 1 公里乘 1 公里的矩形?
更新:我想做的是将一个州划分为 10 英里乘 10 英里的正方形。它不需要非常精确。
我正在使用 Google Maps API V3 绘制 1 英里乘 1 英里的正方形。
问题:从API 参考中,该bounds
属性可用于定义矩形对象的大小,但根据 LatLng 坐标。给定一个特定点的 LatLng,我们如何绘制一个 1 英里乘 1 英里或 1 公里乘 1 公里的矩形?
更新:我想做的是将一个州划分为 10 英里乘 10 英里的正方形。它不需要非常精确。
您应该记住,地球表面是弯曲的;不可能真正将其划分为正方形。构成谷歌地图的方块底部比顶部长。这将使您的地图更加复杂。
您可以将英里或公里转换为纬度或经度的差异。该网页提供了 javascript 代码。 http://www.movable-type.co.uk/scripts/latlong.html
或者,更简单:一个纬度在地球上的任何地方几乎是 69 英里,所以 10 英里将是 ~0.1449 度。“经度”度数因您所在的纬度而异。你应该计算它:
以英里为单位的一度距离 = (PI/180) * 3,963 * cos(纬度)
只要您保持矩形相对较小,地球是一个球体的事实就不应该有很大的不同。土木工程师通常将他们的工作基于平面地球理论,因为在大多数情况下它已经足够好了。
下面的链接让你计算纬度/经度给定的径向和距离已知点 http://williams.best.vwh.net/gccalc.htm,我相信它是上述链接的简化版本
假设您拥有的纬度和经度是中心,您可以找到矩形的角,半径为 45,135,225,315,距离为 5 英里。
希望这可以帮助。