给定两个位置,如何从谷歌地图获取所有纬度和经度
Posted
技术标签:
【中文标题】给定两个位置,如何从谷歌地图获取所有纬度和经度【英文标题】:how to get all latitudes and longitudes from google map given two locations 【发布时间】:2014-08-04 09:44:50 【问题描述】:我正在开发一个执行路线匹配的 android 应用程序,我在如何获取给定路径的所有纬度和经度集提供源位置和目标位置时遇到问题 例如,我将德里作为源位置,将班加罗尔作为目标位置,在调用具有源和目标位置纬度和经度的谷歌方向 API 时,它通过采取一些路点(比如大约 100 个)来绘制路径但我想要每 100 米距离的那条路径上的所有纬度和经度。 请驱动我解决这个问题
【问题讨论】:
既然您有两个位置,即往返位置,为什么不增加或减少每个位置的纬度和经度,直到到达另一个位置?例如:位置 1 lat: 100, Location 2 lat: 200, while(lat1 != lat 2) -> 增加/减少 lat1 并存储该值。对经度应用相同的逻辑。 是的,我们可以添加,但我应该在哪个方向添加,假设我有 lat 11.2343 并且目标 lat 是北侧的 25.658(假设)。如果我想增加我应该在哪个方向增加 【参考方案1】:假设您正在创建一个矩形。
假设矩形为 7 宽,中心点位于两个 lats 中的较低点。
这将为您提供 ALL 两点之间 7 宽的位置。请看下面的图片,它说明了这一点:
算法:
-
从左上角开始
增加 long 直到到达终点
增加 Lat 并将 Long 重置回起点
重复 2 和 3 直到到达终点并记录所有位置。
【讨论】:
【参考方案2】:如果您想使用现成的功能,您可以将SphericalUtil 包含到您的项目中。有了它,您可以轻松计算 2 个点之间的距离 (SphericalUtil.computeDistanceBetween) 和航向 (SphericalUtil.computeHeading),然后将 (SphericalUtil.computeOffset) 第一个点一次又一次地向航向给出的方向移动 100 米,直到完全距离已达。
【讨论】:
@Manikanta 到底是什么,你不明白吗?我当然会尝试回答。但我认为编码部分仍然应该是你的。 SO 不是为任何简单的编码任务要求现成的复制和粘贴 sn-ps 的平台。 非常感谢!!几乎我正处于解决这个问题的边缘。我会问你有没有! 不工作它只是画一条不考虑道路曲线的直线 这正是我所期望的,我已经想知道,为什么你想要获得额外的积分。但现在很清楚,你真正想要的是什么。如果对路线没有任何进一步的了解,我认为没有机会找到位于路线上的中间点。我从未使用过谷歌方向 API。也许有一个选项可以获得更准确的路线。我没有看到任何其他方式,因为地图本身(街道等)的信息是完全隐藏的。 无论如何感谢您的贡献,顺便说一句,我很清楚谷歌提供的路线只有 8 个航点!!!!不仅如此,如果我们想要,这是不可能的,而且很糟糕,我们需要支付 10000 美元。确实很贵以上是关于给定两个位置,如何从谷歌地图获取所有纬度和经度的主要内容,如果未能解决你的问题,请参考以下文章