【问题标题】:How to calculate distance between two locations and then display the way?如何计算两个位置之间的距离然后显示方式?
【发布时间】:2011-05-23 20:36:51
【问题描述】:

我需要在我的 android 应用程序中计算两个位置之间的距离。然后我需要在地图上显示路线。

看来我需要使用一些 Google API 来计算距离。应该是Google Directions API吗? Android 文档says 我应该使用谷歌地图外部库,但我没有看到任何相同的方法。 可能,如果我只想计算两点之间的距离而不是 步行 距离,最好使用一些简化的方法。

然后显示地图-使用MapView与在用户浏览器中打开URL相比有什么优势? 希望避免以下行为:

当你准备好发布你的 应用程序,您必须注册您的 与谷歌发布证书 地图服务并获取新的地图 API 钥匙。然后您必须更改 MapView 应用程序中的元素 引用新的 API 密钥。

【问题讨论】:

  • 您是在寻找行车路线还是仅在两点之间寻找直线?
  • 无需避免获取 API 密钥。它们是免费且容易获得的。
  • @wajiw,直线。我已经找到 location 模块来计算它。所以,我现在唯一的问题是关于 MapView 与浏览器。 @Trott,我不喜欢我应该使用一个密钥进行开发和另一个密钥进行发布的过程 - 所以,我需要更改每个版本的代码。

标签: android google-maps geolocation


【解决方案1】:

你也可以这样做:

//your two locations
Location locationA;
Location locationB;

//distance between them
float distanceBetweenPoints = locationA.distanceTo(locationB);

有点晚了,但希望这会有所帮助:)

【讨论】:

    【解决方案2】:

    两点之间的距离可以通过使用此处描述的等式找到: http://williams.best.vwh.net/avform.htm#Dist 请记住,使用弧度,而不是度数!

    您似乎担心在每个版本中更新地图键?我在市场上有一个基于地图的应用程序,你得到 1 个 prod 密钥和 1 个调试密钥(我相信它是每个开发人员的,但如果不是,它是每个应用程序的)。它与您用于签署 apk 的密钥有关。我的意思是,如果您获得了 prod api 密钥,并且只开发了这个应用程序,您可以发布许多更新,而无需再次触摸密钥(假设您不在本地进行调试密钥测试) .如果您对此感到担心,可以将两者都保存在 AndroidManifext.xml 文件中,然后将不相关的注释掉,具体取决于您是部署到设备还是模拟器。

    【讨论】:

      猜你喜欢
      • 2018-09-21
      • 2015-10-26
      • 1970-01-01
      • 2014-05-15
      • 1970-01-01
      • 2011-12-24
      • 2016-02-27
      相关资源
      最近更新 更多