一旦用户在我的应用程序中按下按钮,我想打开标准的Google Map应用程序并显示特定的位置.我该怎么做?(不使用com.google.android.maps.MapView)
我正在设计一个应用程序,我想在地图上显示特定的位置.我正在传递String已经放置的地址Google Map.以下是我的Intent代码..
String url = "http://maps.google.com/maps?daddr="+address;
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
但它给了我谷歌地图获取方向.我知道为什么会这样,因为我用过daddr,url但我不知道具体位置使用什么..请告诉我在那里使用什么..
在iPhone上,本地谷歌地图应用程序拦截并加载maps.google.com网址.我想在Android上做同样的事情,但谷歌地图正在浏览器中加载.
因此,在网页中,是否可以在Android Google地图应用中打开此网址http://maps.google.com/maps?saddr=brighton&daddr=timbuktu?
我从这个问题中看到你可以通过Intent从另一个应用程序中完成.你能从浏览器触发这些Intent吗?
编辑 - 在进一步测试中,我发现系统会提示用户在浏览器或地图应用中打开链接,以获取到maps.google.maps的标准html链接:
<a href="http://maps.google.com/maps?saddr=brighton&daddr=timbuktu">show route</a>
Run Code Online (Sandbox Code Playgroud)
我遇到了问题因为我使用javascript通过Location API回调设置window.location.href(所以我可以获取用户的位置,然后打开地图).我为此打开了一个错误报告.
我目前正在进行一个Android应用程序,它采用用户的一些坐标(起始点从用户定义的gps和目标)
我希望我的应用程序启动谷歌导航,以便它可以引导用户通过这些点.在下一步,我想给导航更多的点(例如一些感兴趣的点),以便它引导用户通过包含所有点的特定路线.
那可能吗?我发现的所有内容都没有记录,没有例子.有人解决了这个问题吗?如果没有,有人可以推荐一些其他的导航程序吗?
乔治,提前谢谢你
起初我知道StackOverflow上有几个类似的问题.我使用geo方案来解决可由其他应用程序处理的点.
就像Android文档 的例子一样(顺便说一下它看起来已经过时了!)我尝试使用这样的东西:
geo:50.95144,6.98725?q=50.95144,6.98725%20(Disneyland)
Run Code Online (Sandbox Code Playgroud)
所以我得到一个意图选择器,我可以选择一个应用程序,向我展示Google Maps迪士尼乐园的标记.现在似乎安装了一个删除该支持的更新.我只是得到这个地方找不到的消息.
我试图理解定义'geo'URI Scheme 的RFC 5870.我不完全明白.根本不可能定义一个标签是正确的吗?
如何将位置现在链接到Google地图?
以下是我如何启动原生谷歌地图应用以显示我和目标位置之间的路线.
String url = "http://maps.google.com/maps?saddr="+currentLattitude+","+currentLongitude+"&daddr="+targetLat+","+targetLang;
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(url));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
有没有办法启动原生地图应用程序来显示驾驶和运输模式?(目前仅展示行走方向)
我正在尝试mailto:使用GMail应用程序构建一个uri来发送邮件.我想使用android.net.Uri.Builder该类来执行此操作,但是生成的uri是在表单中mailto://test@example.com,这使得GMail应用程序认为收件人是//test@example.com,而不仅仅是test@example.com.
我最终这样做了:
String uriStr = uriBuilder.toString();
uriStr = uriStr.replaceAll("//", "");
final Uri uri = Uri.parse(uriStr);
Run Code Online (Sandbox Code Playgroud)
但显然,这是一个丑陋的黑客......
没有这个//部分,没有办法建立uri 吗?
我正在使用意图启动Google导航:
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=" + location));
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
location 是一个带GPS坐标的字符串.
谷歌导航弹出很好,并绘制路线.当用户到达目的地时,他们可以返回某种类型的回叫吗?任何实施方式startActivityForResult()?
如果没有,那么最好的选择是什么?我一直在考虑在后台运行一项服务,密切关注位置并结束Google导航并在GPS注册到目的地附近时返回我的应用程序(因为我知道纬度/经度).
谢谢大家
在我的android项目中,我想在Google地图上绘制路线.我有起点和终点的坐标.在这一点上,我km从谷歌网络服务获得-file,其中包含跨越路线的分数.对于绘制路径的部分,我使用Overlay类的实例.这个解决方案有效,但速度很慢.还有其他方法吗?可能存在能力使用内置谷歌地图应用程序或任何其他方式?
我正在尝试向Google地图发送意图,以显示多个点之间的行车路线。我正在使用此处列出的方法,但它似乎无法很好地工作。该应用程序的最终功能是动态创建地图的网址,但是为了测试,我创建了一个带有一堆随机点的静态网址:
我的确切代码是:
String mapUrl = "https://maps.google.com/maps?saddr=San+Francisco,+CA&daddr=Los+Angeles,+CA+to:Phoenix,+AZ+to:Houston,+TX+to:Jacksonville,+FL+to:New+York,+NY+to:Buffalo,+NY+to:Chicago,+IL+to:Seattle,+WA+to:San+Jose,+CA";
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(mapUrl));
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
如果我从“使用以下命令完成操作”菜单中将其发送到浏览器,则它可以正常工作。(FWIW,如果我仅将URL复制并粘贴到桌面上的Web浏览器中,它也可以正常工作。)另一方面,如果将其发送到Maps应用程序,则它的行为不正确。在我运行过2.2和2.3的一些旧设备上,它显示了行车路线,但只标记了2个点,其中之一甚至不是我在url中传递的点之一,并且行车路线对于位置之间来回往返的多条路线。在任何4.X设备上,它什么都不显示,并且显示“网络故障”或“找不到路由”。我没有任何3.X设备,但是我希望它的行为与其中一种类似。
我不想使用MapView,因为对于我的应用程序基于地图的次要要求来说,这太过分了。我只希望能够向地图应用程序发送一个意图,以显示两个位置之间的路线,中间有航路点。我在新版Maps api的文档中找不到任何明确的答案,这可能吗?
android ×10
google-maps ×6
geolocation ×2
api ×1
browser ×1
geo-schema ×1
gps ×1
maps ×1
navigation ×1
uri ×1