使用提供的位置和标记启动Google Maps App

AZ1*_*Z13 19 android google-maps google-maps-markers android-intent

从我的应用程序,我想启动谷歌地图应用程序与提供的位置和标记.标记应指示该给定位置上有某些内容.

现在,我有以下代码,它以一个Intent开始,谷歌地图应用程序提供的位置(51.49234,7.43045).

startActivity(
new Intent(
    android.content.Intent.ACTION_VIEW, 
    Uri.parse("geo:51.49234,7.43045")));
Run Code Online (Sandbox Code Playgroud)

Google地图应用启动时,如下所示: 在此输入图像描述

没有显示标记.我想,谷歌地图应用程序会在该位置显示一个标记,通过意图给出.是否有任何"隐藏的"Intent URI可用于在Google Maps App中显示标记?

提前致谢.

@Rajiv M.向我指出了用给定位置查询周围环境的想法.

因此,解决方案是:使用给定位置作为参数查询给定位置的周围环境.URI看起来像:

geo:51.49234,7.43045?q=51.49234,7.43045
Run Code Online (Sandbox Code Playgroud)

Google地图会将查询结果显示为街道名称: 在此输入图像描述

有点黑客,但似乎运作良好.

为什么不应该使用0,0作为地图位置

geo:0,0?q=51.49234,7.43045
Run Code Online (Sandbox Code Playgroud)

当您使用提供的地图位置点0,0启动Google地图应用时,Google地图应用将开始搜索您当前的设备位置.这需要时间.在某些情况下,当没有提供GPS信号时,太多了.在此之前,Google Maps应用程序将开始搜索您的查询51.49234,7.43045.

Raj*_*ani 16

尝试使用相同的意图启动Google地图,但使用以下格式的URI:

geo:34.067214,-118.349332?q=410+Hauser+Boulevard,+Los+Angeles,+CA
Run Code Online (Sandbox Code Playgroud)

即地理:0,0?q =街道+地址

然后应用程序应该在该地址显示一个点.如果您没有该地址,则可能必须使用服务将其转换为地址才能使用.

-

另一个选项是在应用程序中嵌入MapView并在其中添加标记.有关在应用程序中使用MapViews/Markers的教程,请访问http://mobiforge.com/developing/story/using-google-maps-android.