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);
使用Google Maps API创建逐路段导航在Google Maps API ToS中是不允许的,即使在2018年7月的价格变化之后,他们更新了他们的ToS。 从Google Maps new ToS section 3.2.3(强调我的): (d)不得重新创建谷歌产品或功能。客户不得使用服务创建与其他谷歌产品或服务的功能实质上相似或重新创建其他谷歌产品或服务的功能的产品或服务。客户的产品或服务必须包含谷歌产品或服务以外的实质性、独立的价值和功能。例如,客户不得:(i)重新分发谷歌Map核心服务或将其冒充为客户的服务;(ii)使用谷歌Map核心服务创建谷歌Map核心服务、谷歌Map或谷歌Map移动的应用程序或其功能的替代品;(iii)在列表或目录服务中使用谷歌Map核心服务,或创建或增强广告产品;(iv)合并来自Directions API、Geolocation API和Maps SDK for Android的数据,以创建与Google Maps for Android移动的应用程序提供的功能基本相似的实时导航功能。
7条答案
按热度按时间hi3rlvi21#
我同意上面的答案,但是在谷歌MapAPI隐私条款here的第10.4.c节中也有一个关键条款。
上面说
无导航。您将不会为以下目的或与以下目的有关的目的使用本服务或内容:(a)实时导航或路线指引;或(b)自动或自主车辆控制。
因此,我想继续回答你的问题,并说不,这是不可能创建一个turn-by-turn导航应用程序在android上使用谷歌MapAPI而不违反他们的隐私政策.
yrdbyhpb2#
编辑:使用此答案前请阅读下面的answer by Tushar
第一个选项
如果你想在你的应用中实现完全的导航,你必须使用谷歌MapAPI和谷歌方向API的组合。它们是免费使用的,但有一定的限制,然后你必须为API请求付费。(https://developers.google.com/maps/documentation/directions/)
第二种选择
我只需要把你想导航的位置的纬度和经度发送到设备的Map应用程序。下面是一些代码,可以让你开始使用这个方法:
这将打开设备的Map应用程序和绘图的位置,用户可以使用该应用程序做任何他们想要的。
我会选择第二个选项,它很容易实现。
pieyvz9o3#
在搜索了很多之后,我找到了两个选项,分别是语音指示和箭头图像。
HEREMap有些昂贵,不允许免费使用(只有90天的试用期)。但它有很多优点,如:
1.清晰、完善的文件记录:他们提供的文档清晰易懂,他们提供的演示应用程序也实现了所有需要的东西,所以你可以复制粘贴很多东西。
1.开发人员友好:开发人员可以完全控制Map(没有限制,您可以对Map做任何您能想到的事情)。
1.覆盖范围:导航不仅对一些特定的国家清晰和好,几乎对所有的国家都是如此,比如我在印度查过,苹果Map在印度不是提供路线,谷歌Map在提供,但从我的Angular 来看,HEREMap要清晰得多,甚至比谷歌更好。
skobbler很好,允许在一定限度内免费使用,但它并不适合所有国家(不包括印度)。而且它也不像HERE Maps那样对开发者友好。
inn6fuwd4#
我自己在寻找一个分阶段的解决方案时偶然发现了这个线索,我进一步搜索了一下,发现了这个有前途的javascript项目:
FFWDme.js- * 是一个JavaScript工具包,旨在将交互式GPS行车路线引入移动的浏览器 *
它是开源的。它是可配置的,但默认情况下它使用leaflet.js来制作滑动Map,并使用可配置的Tile-server,所以你可以在Open-streetMap上运行它。它还使用开源的Graphhopper来提供方向服务,但你可以添加自己的。
看起来很有希望!
vxbzzdmp5#
使用Google Maps API创建逐路段导航在Google Maps API ToS中是不允许的,即使在2018年7月的价格变化之后,他们更新了他们的ToS。
从Google Maps new ToS section 3.2.3(强调我的):
(d)不得重新创建谷歌产品或功能。客户不得使用服务创建与其他谷歌产品或服务的功能实质上相似或重新创建其他谷歌产品或服务的功能的产品或服务。客户的产品或服务必须包含谷歌产品或服务以外的实质性、独立的价值和功能。例如,客户不得:(i)重新分发谷歌Map核心服务或将其冒充为客户的服务;(ii)使用谷歌Map核心服务创建谷歌Map核心服务、谷歌Map或谷歌Map移动的应用程序或其功能的替代品;(iii)在列表或目录服务中使用谷歌Map核心服务,或创建或增强广告产品;(iv)合并来自Directions API、Geolocation API和Maps SDK for Android的数据,以创建与Google Maps for Android移动的应用程序提供的功能基本相似的实时导航功能。
x6yk4ghg6#
我在这里晚了,但它会帮助别人,我发现了一些关于这个背景。谷歌提供应用程序内导航和谷歌Map逐圈方向的支持。它是付费的,你可以在下面的链接检查更多关于这一点。
https://cloud.google.com/maps-platform/rides-and-deliveries
不确定它是否解决了你的问题。
aydmsdu97#
目前还不可能,但谷歌有一些私人合作伙伴
Lyft推出谷歌Map应用内导航https://www.theverge.com/2017/10/12/16465414/lyft-google-maps-waze-navigation-app-drivers