2010-03-31 132 views
2

我試圖從我的應用程序啓動Google地圖。我使用的是:啓動Google地圖應用程序

GeoPoint center = _mapView.getMapCenter(); 

Uri uri = Uri.parse("geo:"+center.getLatitudeE6()+","+center.getLongitudeE6()); 

Log.d(LOG_TAG, "Launching Google Maps with Uri: ("+uri+")"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 

startActivity(intent); 

我中心在紐約的某個地方的地圖進行了測試,但谷歌地圖打開,不集中在那裏。 我遵循Android Developer的站點參考使用:「geo:latitude,longitude」模式。

,你看到打印日誌:

Launching Google Maps with Uri: (geo:40763500,-73979305) 

任何人知道什麼可能是問題嗎?

回答

3

嘗試使用:

Uri uri = Uri.parse("geo:"+(center.getLatitudeE6()/1E6)+","+(center.getLongitudeE6()/1E6)); 

geo: Uri格式採用十進制緯度/經度和不E6格式(度* 1E6)。

+0

啊,你固定它。好。 – 2010-03-31 14:16:07

2

您需要除以1E6,因爲GeoPoint不會返回一倍。

Uri uri = Uri.parse("geo:"+(center.getLatitudeE6()/1E6)+","+(center.getLongitudeE6()/1E6)); 

我喜歡這樣親自在那裏DADDR將(center.getLatitudeE6()/1E6)+","+(center.getLongitudeE6()/1E6)

startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?f=d&saddr="+saddr+"&daddr="+daddr+"&hl=en"))); 
相關問題