2013-03-29 68 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

相關問題