Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android Google map使用心得

Android Google map使用心得

編輯:Android開發實例

 

Android Google map使用 1、使用Android Google Map Api之前必須檢測系統中是否安裝了Google map 應用,檢測方法如下:

 

  1. protected boolean checkGoogleMap(){  
  2. lean isInstallGMap = false;  
  3.      List<PackageInfo>  
  4. packs = getPackageManager().getInstalledPackages(0);  
  5. for (int i = 0; i < packs.size(); i++) {  
  6. PackageInfo p = packs.get(i);  
  7. if (p.versionName == null) { // system packages  
  8.      continue;  
  9. }  
  10. if ("com.google.android.apps.maps".equals(p.packageName)) {  
  11.     isInstallGMap = true;  
  12.     break;  
  13. }  
  14. }  
  15. return isInstallGMap;  
  16. }  
  17.  

2、當檢測出系統中沒有安裝Google map 應用時,可以轉向Web版的Google map 來訪問,如下:

 

  1. Intent it = new Intent(  
  2. Intent.ACTION_VIEW, Uri.parse(  
  3. "http://ditu.google.cn/maps?hl=zh&mrt=loc&q="+weiduExtra+",  
  4. "+jingduExtra+""));  
  5.  startActivity(it);  
  6.  注意:使用此方法需在AndroidManifest.xml中加入網絡訪問權限  
  7. <uses-permission android:name="android.permission.INTERNET">  
  8. </uses-permission>  
  9.  

3、當檢測出系統中已經安裝Google map 應用時,我們就可以使用Google map api 了,使用方法如下: 1)方法一:

 

  1. Intent it = new Intent(  
  2. Intent.ACTION_VIEW, Uri.parse("geo:"+weiduExtra+",  
  3. "+jingduExtra));  
  4. startActivity(it);  
  5. 注意:使用此方法需在AndroidManifest.xml中加入相應的訪問權限  
  6. <uses-permission android:name="android.permission.  
  7. ACCESS_COARSE_LOCATION" />   
  8. <uses-permission android:name="android.permission.  
  9. INTERNET" />  
  10.  

2)方法二: 可以創建一個MapActivity的子類,將MapView顯示於其上即可,可以用MapController來控制顯示的坐標、地圖模式和視野高度,處理起來非常簡單。 Java代碼 :

 

  1.     public class MapTest extends MapActivity {   
  2.     private MapView mapView;   
  3.     private MapController mc;   
  4.  
  5.     @Override   
  6.     public void onCreate(Bundle savedInstanceState) {   
  7.     super.onCreate(savedInstanceState);   
  8.     setContentView(R.layout.mapview);   
  9.       
  10.     mapView = (MapView) findViewById(R.id.map);   
  11.     mapView.setTraffic(true);   
  12.     mc = mapView.getController();   
  13.  
  14.     GeoPoint gp = new GeoPoint((int) (30.659259 * 1000000),   
  15.     (int) (104.065762 * 1000000)); //地理坐標   
  16.     mc.animateTo(gp);   
  17.     mc.setZoom(12);   
  18.     }   
  19.  
  20.     @Override   
  21.     protected boolean isRouteDisplayed() {   
  22.     return false;   
  23.     }   
  24.     }   
  25.     public class MapTest extends MapActivity {  
  26.     private MapView mapView;  
  27.     private MapController mc;  
  28.  
  29.     @Override 
  30.     public void onCreate(Bundle savedInstanceState) {  
  31.     super.onCreate(savedInstanceState);  
  32.     setContentView(R.layout.mapview);  
  33.     mapView = (MapView) findViewById(R.id.map);  
  34.     mapView.setTraffic(true);  
  35.     mc = mapView.getController();  
  36.  
  37.     GeoPoint gp = new GeoPoint((int) (30.659259 * 1000000),   
  38.     (int) (104.065762 * 1000000)); //地理坐標  
  39.     mc.animateTo(gp);  
  40.     mc.setZoom(12);  
  41.     }  
  42.     @Override 
  43.     protected boolean isRouteDisplayed() {  
  44.     return false;  
  45.     }  
  46.     }  
  47.     mapview.xml內容如下:   
  48.     Xml代碼   
  49. <?xml version="1.0" encoding="utf-8"?>   
  50. <RelativeLayout xmlns:android="http:  
  51. //schemas.android.com/apk/res/android"   
  52.     android:layout_width="fill_parent"   
  53.     android:layout_height="fill_parent"   
  54. >   
  55.     <com.google.android.maps.MapView android:id="@+id/map"   
  56.     android:layout_width="fill_parent"   
  57.     android:layout_height="fill_parent"   
  58.     android:enabled="true"   
  59.     android:clickable="true"   
  60.     android:apiKey="0mHnPl2NS9XPKx6pKwJriV2Wj-mEHSh71yyX_SQ"   
  61.     />   
  62. </RelativeLayout>   
  63.     <?xml version="1.0" encoding="utf-8"?>  
  64.     <RelativeLayout xmlns:android="http:  
  65.     //schemas.android.com/apk/res/android"  
  66.     android:layout_width="fill_parent" 
  67.     android:layout_height="fill_parent" 
  68. >  
  69. <com.google.android.maps.MapView android:id="@+id/map" 
  70.     android:layout_width="fill_parent"   
  71.     android:layout_height="fill_parent" 
  72.     android:enabled="true" 
  73.     android:clickable="true" 
  74.     android:apiKey="0mHnPl2NS9XPKx6pKwJriV2Wj-mEHSh71yyX_SQ" 
  75.     />  
  76. </RelativeLayout>   

注意: A、使用此方法需在AndroidManifest.xml中加入相應的訪問權限。

 

  1. <uses-permission android:name="  
  2. android.permission.ACCESS_COARSE_LOCATION" />   
  3. <uses-permission android:name="  
  4. android.permission.INTERNET" />;  
  5.  

B、你要申請一個自己的apiKey。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved