Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android GPS 定位的實現(2-1) 使用Google地圖

Android GPS 定位的實現(2-1) 使用Google地圖

編輯:Android開發實例

要在Android客戶端顯示Google地圖,就要使用google 的API,這次使用的的不是Android 的SDK而是直接使得的Google的,因為沒有細究,所以他們之間具體有多少區別,現在還不太清楚,等有時間了,再仔細看一看,顯示地圖使用的是View為:com.google.android.maps.MapView 但是要使用的話,還得去google 申請一個Map的Key去,具體怎麼申請,這裡不再細說,不過個人感覺如果是測試的話,隨便找一個Key也是可以的沒有感覺到什麼不同,不知道發布的時候怎麼樣。

以面的做完之後,因為地圖使用的是網絡,因此必須得有網絡的訪問權限,這個需要添加上去。否則無法得到地圖信息。

下面 就是實現代碼:

首先定義地圖的控制器:

 

    private MapController mapController;

private GeoPoint geoPoint; //這個表示的是定位中心點在代碼中有實現

 

 

然後就可以實現了!

 

下面是實現代碼:

 

 

setContentView(R.layout.main);

MapView mapView = (MapView)findViewById(R.id.mapview1);

mapController = mapView.getController();
mapView.setEnabled(true);
mapView.setClickable(true);
mapView.setBuiltInZoomControls(true);

geoPoint = new GeoPoint((int)40.9166666666667*1000000,(int)116.816666666667*1000000);
mapController.animateTo(geoPoint);
mapController.setZoom(12);

 

 

如果要在某點顯示信息的話,可以通過下面的函數進行設置:

 

 

 
class MyLocationOverlay extends Overlay
{
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when)
{
super.draw(canvas, mapView, shadow);
Paint paint = new Paint();
Point myScreenCoords = new Point();
// 將經緯度轉換成實際屏幕坐標
mapView.getProjection().toPixels(geoPoint, myScreenCoords);
paint.setStrokeWidth(1);
paint.setARGB(255, 255, 0, 0);
paint.setStyle(Paint.Style.STROKE);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.home);
canvas.drawBitmap(bmp, myScreenCoords.x, myScreenCoords.y, paint);
canvas.drawText("要顯示的名稱", myScreenCoords.x, myScreenCoords.y, paint);
return true;
}
}

 

 

當然要顯示地圖,如果我們繼承的是Activity的話,是無法進行顯示的,所以要改為MapActivity,這也就是為什麼要使用google Api的原因了!

好了,這個地圖,結合前面講的GPS信息獲取都已經實現了,再下面就可以實現通過GPS定位了,其實你只要把他們兩個結合起來就能實現定位了!

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved