2011-05-07 81 views
0

我想在我的應用中顯示谷歌地圖。我得到了map api key,並在我的xml文件中使用它,但google map沒有顯示,只有矩形塊顯示在我運行該應用程序時。我怎樣才能在我的應用程序中顯示谷歌地圖?如何在我的應用中顯示谷歌地圖

活動類:

public class ShowMap extends MapActivity { 

    private MapController mapController; 
    private MapView mapView; 
    private LocationManager locationManager; 

    public void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
     setContentView(R.layout.main); // bind the layout to the activity 

     // create a map view 
     RelativeLayout linearLayout = (RelativeLayout) findViewById(R.id.mainlayout); 
     mapView = (MapView) findViewById(R.id.mapview); 
     mapView.setBuiltInZoomControls(true); 
     mapView.setStreetView(true); 
     mapController = mapView.getController(); 
     mapController.setZoom(14); // Zoon 1 is world view 
     locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
     locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 
       0, new GeoUpdateHandler()); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 

    public class GeoUpdateHandler implements LocationListener { 

     @Override 
     public void onLocationChanged(Location location) { 
      int lat = (int) (location.getLatitude() * 1E6); 
      int lng = (int) (location.getLongitude() * 1E6); 
      GeoPoint point = new GeoPoint(lat, lng); 
      mapController.animateTo(point); // mapController.setCenter(point); 
     } 

     @Override 
     public void onProviderDisabled(String provider) { 
     } 

     @Override 
     public void onProviderEnabled(String provider) { 
     } 

     @Override 
     public void onStatusChanged(String provider, int status, Bundle extras) { 
     } 
    } 

,並layout/main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainlayout" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <com.google.android.maps.MapView 
     android:id="@+id/mapview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:clickable="true" 
     android:enabled="true" 
     android:apiKey="0mT--u1GbHdhnBJgPZU8zhoF2e4qdpCag32e7lQ" /> 

</RelativeLayout> 
+0

代碼看起來還好。你確定API密鑰是正確的嗎? – slhck 2011-05-07 09:44:42

回答

0

我認爲你已經使用調試鍵。而不是使用使用釋放鑰匙:

keytool -list -keystore filename.keystore 

欲瞭解更多詳情請查看this

嘗試this.Hope這會爲你工作... :)

+0

如何使用「keytool -list -keystore filename.keystore」其實我是java和android中的新手,所以請詳細解釋... – SRam 2011-05-07 09:53:03

+0

您是否創建了應用程序的密鑰庫。創建一個.bat文件(創建一個叫做shell.bat的新文件並編輯它,然後在其中寫入cmd,然後保存,現在關閉它,雙擊它,它會在該位置打開命令提示符),位於密鑰庫的相同位置文件,然後在該命令提示符處鍵入上面的行。然後按照相同的過程生成調試密鑰。試試這個。 – 2011-05-07 09:58:26