今天我和客户谈过,他想在Android上构建一个简单的导航APP!
基本上我们可以使用谷歌地图,放置一些“我们的”标记来显示一些位置(餐馆,酒店等)..我们还需要向附近的用户朋友展示!
Android上的Google Maps API可以实现所有这些功能,但我无法在自己的应用中找到任何有关转弯导航实施的有用信息(无需切换到Google地图应用)。
有人可以简单澄清 - 是否可以在Android应用中使用Google地图来制作基于GPS的转弯应用?
感谢
答案 0 :(得分:77)
我同意上述答案,但Google Maps API隐私条款here第10.4.c节中还有一个关键条款。
说明
没有导航。您不得将服务或内容用于或与(a)实时导航或路线指导相关;或(b)自动或自动车辆控制。
因此,我想继续回答您的问题并说“不”,在不违反其隐私政策的情况下,使用Google Maps API在Android上创建精细导航应用程序是不可能的。
答案 1 :(得分:25)
修改:在使用此答案前阅读下面的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);
这将打开设备的地图应用程序并绘制位置,用户可以使用该应用程序执行他们想要的任务。
我会选择第二选项,实现起来非常容易。
答案 2 :(得分:24)
经过大量搜索,我找到了两种带语音指令和箭头图像的转弯导航选项。
HERE地图有点贵,不允许免费使用(仅90天的试用期)。但它有很多优点,如:
清晰完善的文档:他们提供的文档清晰易懂,同时他们提供的演示应用程序也实现了所有必需的功能。所以你可以复制并粘贴很多东西。
开发人员友好:完全控制开发人员的地图(没有限制,你可以做任何你能想到的地图)。
覆盖范围:导航不仅对某些特定国家而且对几乎所有国家而言都是明确和良好的。我在印度检查过它。 Apple Maps不提供印度的路线,谷歌地图提供它,但从我的角度来看,HERE地图比谷歌更清晰甚至更好。
skobbler是好的,允许免费使用达到一个限度,但它并不适合所有国家(不覆盖印度达到水平)。它也不像HERE Maps那样对开发人员友好。
答案 3 :(得分:19)
我偶然通过搜索转弯解决方案偶然发现了这个问题,我进一步搜索了这个有希望的javascript项目:
FFWDme.js - 是一个JavaScript工具包,旨在为移动浏览器带来交互式GPS行车路线
它是开源的。 它是可配置的,但默认情况下它使用leaflet.js进行滑动映射,并使用可配置的Tile-server,因此您可以在开放街道地图上运行它。它还使用开源Graphhopper作为方向服务,但您可以添加自己的。
看起来很有前途!
答案 4 :(得分:4)
即使在2018年7月价格更改后更新了ToS,Google Maps API ToS中也不允许使用Google Maps API创建逐行导航。
来自Google Maps new ToS section 3.2.4(重点是我):
(c)不能重新创建Google产品或功能。 客户不会使用 服务以创建具有以下特征的产品或服务 基本上类似于或重现另一个特征 Google产品或服务。客户的产品或服务必须包含 超越Google产品的实质性,独立的价值和功能 或服务。例如,客户不会 :( i)重新分发 Google Maps Core Services或将其假冒为客户的 服务; (ii)替代Google Maps Core Services, Google Maps或Google Maps移动应用程序或其功能; (iii)使用 列表或目录服务中的Google Maps Core服务,或 制作或扩充广告产品; (iv)合并来自 Directions API,Geolocation API和Maps SDK for Android创建 实时导航功能与 Android移动版Google Maps提供的功能。
答案 5 :(得分:1)
我来晚了,但这会对某人有所帮助,我在此上下文中找到了一些东西。谷歌提供应用内导航和谷歌地图逐向导航支持。已付款,您可以在以下链接中查看更多相关信息。
https://cloud.google.com/maps-platform/rides-and-deliveries
不确定它是否能解决您的问题。
答案 6 :(得分:0)
尚不可能,但谷歌有一些私人合作伙伴
Lyft在应用程序中引入了谷歌地图导航 https://thehub.lyft.com/blog/lyft-navigation-google-maps