2013-03-29 37 views
2

我想从我自己的应用程序activity.I要显示在地图上的特定位置的标记应用程序。直到现在才发现这段代码。打开谷歌地图应用程序和它从我自己的应用程序活动显示标记

 String label = "shop"; 
     String uriBegin = "geo:" + lat + "," + lng; 
     String query = lat + "," + lng + "(" + label + ")"; 
     String encodedQuery = Uri.encode(query); 
     String uriString = uriBegin + "?q=" + encodedQuery + "&z=16"; 
     Uri uri = Uri.parse(uriString); 
     Intent intent = new Intent(android.content.Intent.ACTION_VIEW,uri); 
     startActivity(intent); 

它的作用是打开地图应用程序中,但不断出现我loading messageboxsearching for:<lat>,<lng>(shop)其中<lat> and <lng>是我提供的值。这有什么不对?

我从另一个stackoverflow post复制了此代码。

+0

希望您的代码运行良好,可能有两个原因1.您的纬度/经度有点不对2. Internet连接问题。我有一些纬度和经度。 –

+0

是的,你是对的。我从菜单单独打开谷歌地图应用程序,它仍然没有显示地图。虽然我的其他应用程序工作正常。我收到通知和我的谷歌播放应用程序正在运行。这意味着互联网连接也很好。所以只有这个地图应用程序无法正常工作。你知道原因吗? – Mj1992

回答

7

更新您的谷歌地图应用程序。

然后(如果还没有工作),你可以用这个代码尝试:

String uri = String.format(Locale.ENGLISH, "geo:%f,%f?z=17&q=%f,%f", latitude,longitude,latitude,longitude); 
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 

基础上的问题: Starting Google Maps App with provided location and marker获得该标志将出现在查询标签的URI

相关问题