是否可以使用谷歌地图在Android / iOS上创建转弯GPS导航应用程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以使用谷歌地图在Android / iOS上创建转弯GPS导航应用程序?相关的知识,希望对你有一定的参考价值。

今天我和一位客户谈过,他想在android上构建一个简单的导航APP!

基本上我们可以使用谷歌地图,放置一些“我们的”标记来显示一些位置(餐馆,酒店等)..我们还需要向附近的用户朋友展示!

除了我在我自己的应用程序中找不到任何有关转弯导航实现的有用信息(无需切换到Google地图应用程序)之外,所有这些都可以在Android上的Google Maps API中实现。

有人可以简单澄清 - 是否可以在Android应用程序中使用谷歌地图来创建基于GPS的转向应用程序?

谢谢

答案

编辑:在使用此答案之前,请阅读下面的answer by Tushar

第一选择

如果您想在应用中完全实现导航,则必须结合使用Google Maps API和Google Directions API。他们可以自由使用达到限制,然后你必须支付api请求。(https://developers.google.com/maps/documentation/directions/

第二选择

我只想将您要导航到的位置的纬度和经度发送到设备地图应用。以下是一些使用此方法启动的代码:

double lat = < latitude of the location you want to navigate to>

double lng = < longitude of the location you want to navigate to>     

String format = "geo:0,0?q=" + lat + "," + lng + "( Location title)";

Uri uri = Uri.parse(format); 


Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

这将打开设备的地图应用程序并绘制位置,用户可以使用该应用程序执行他们想要的任何操作。

我会选择第二选项,实现起来非常容易。

另一答案

我同意上述答案,但谷歌地图API隐私条款here的第10.4.c节中也有一个关键条款。

它指出

没有导航。您不得将服务或内容用于或与(a)实时导航或路线指导相关;或(b)自动或自动车辆控制。

因此,我想继续回答您的问题并说“不”,在不违反其隐私政策的情况下,使用Google Maps API在Android上创建精细导航应用程序是不可能的。

另一答案

经过大量搜索后,我发现了两种带语音指令和箭头图像的逐向导航选项。

  1. skobbler或sk地图(http://developer.skobbler.com/
  2. HERE地图(https://developer.here.com/

HERE地图有点昂贵,不允许免费使用(只有90天的试用期)。但它有很多优点,如:

  1. 清晰完美的文档:他们提供的文档清晰易懂,而且他们提供的演示应用程序也实现了所有必需的功能。所以你可以复制并粘贴很多东西。
  2. 开发人员友好:完全控制开发人员的地图(没有限制,你可以做任何你能想到的地图)。
  3. 覆盖范围:导航不仅对某些特定国家而且对几乎所有国家都是明确和良好的。我在印度检查过它。 Apple Maps不提供印度的路线,谷歌地图提供它,但从我的角度来看,HERE地图比谷歌更清晰甚至更好。

skobbler是好的,允许免费使用达到一个限制,但它并不适合所有国家(不覆盖印度达到水平)。它也不像HERE Maps那样对开发人员友好。

另一答案

我偶然通过搜索转弯解决方案偶然发现了这个问题,我进一步搜索了一下,发现了这个有前途的javascript项目:

FFWDme.js - 是一个JavaScript工具包,旨在为移动浏览器带来交互式GPS行车路线

它是开源的。它是可配置的,但默认情况下它使用leaflet.js进行滑动映射,并使用可配置的Tile-server,因此您可以在开放街道地图上运行它。它还使用开源Graphhopper进行方向服务,但您可以添加自己的。

看起来有前途

另一答案

Google Maps API ToS中不允许使用Google Maps API创建转弯导航,即使在2018年7月定价更改后他们更新了自己的ToS。

来自Google Maps new ToS section 3.2.4(强调我的):

(c)不重新创建Google产品或功能。客户不得使用服务创建产品或服务,其功能与重新创建其他Google产品或服务的功能基本相似或重新创建。客户的产品或服务必须包含Google产品或服务之外的实质性,独立的价值和功能。例如,客户不会:(i)重新分发Google Maps Core服务或将其作为客户服务传递; (ii)创建Google Maps Core Services,Google Maps或Google Maps移动应用程序或其功能的替代品; (iii)在列表或目录服务中使用Google Maps Core Services或创建或扩充广告产品; (iv)将Directions API,Geolocation API和Maps SDK for Android中的数据组合在一起,创建与Google Maps for Android移动应用程序提供的功能基本类似的实时导航功能。

另一答案

尚不可能,但谷歌有一些私人合作伙伴关系

Lyft在应用程序https://thehub.lyft.com/blog/lyft-navigation-google-maps中引入了谷歌地图导航

以上是关于是否可以使用谷歌地图在Android / iOS上创建转弯GPS导航应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Android 谷歌地图 API

Android 谷歌地图上丢失的图块

Android - 如何确定坐标是不是位于谷歌地图中的道路上

Android 谷歌地图使用 GPS 定位而不是网络

如何在路线谷歌地图v2 android上绘制交互式折线

是否可以在卫星模式下在谷歌地图上移动相机?