从我的应用中,我想使用提供的位置和标记启动Google地图应用。标记应指示该给定位置上有某些内容。
目前,我有以下代码,该代码以带有提供位置的Google Maps App的Intent开头(51.49234,7.43045)。
startActivity(
new Intent(
android.content.Intent.ACTION_VIEW,
Uri.parse("geo:51.49234,7.43045")));
Google地图应用启动时,如下所示:
未显示任何标记。我想,谷歌地图应用程序会在该位置显示一个标记,通过意图给出。是否有任何“隐藏的”Intent URI可用于在Google Maps App中显示标记?
提前致谢。
@Rajiv M.向我指出了用给定位置查询周围环境的想法。
因此,解决方案是:使用给定位置作为参数查询给定位置的周围环境。 URI看起来像:
geo:51.49234,7.43045?q=51.49234,7.43045
Google地图会将查询结果显示为街道名称:
有点黑客,但似乎运作良好。
为什么不应该使用0,0作为地图位置
geo:0,0?q=51.49234,7.43045
当您使用提供的地图位置点0,0启动Google地图应用时,Google地图应用将开始搜索您当前的设备位置。这需要时间。在某些情况下,当没有提供GPS信号时,太多了。在此之前,Google Maps应用程序将开始搜索您的查询51.49234,7.43045。
答案 0 :(得分:16)
尝试使用相同的意图启动Google地图,但使用以下格式的URI:
geo:34.067214,-118.349332?q=410+Hauser+Boulevard,+Los+Angeles,+CA
即。地理:0,0 Q =街道地址+
然后,应用程序应该在该地址显示一个点。如果您没有该地址,则可能必须使用服务将其转换为可以使用的地址。
-
另一个选项是在应用程序中嵌入MapView并在其中添加标记。可以在http://mobiforge.com/developing/story/using-google-maps-android找到在应用程序中使用MapViews / Markers的教程。
答案 1 :(得分:0)
也许你可以尝试把你的uri如下: Uri uri = Uri.parse(“http://maps.google.com/maps?q=”+ _lat +“,”+ _ lon);
至少上面的代码对我有用。它帮助我在我搜索的位置顶部添加一个针点。此外,针点将有一个小的对话框按下,它提供了搜索到该位置的方向的功能。 :D