當轉到Maps API for Android的v2版本時,您會立即注意到這是一個全新的API,很少考慮向後兼容性。
您會看到很多編譯錯誤,因爲現在很多現有類將會像MapActivity,GeoPoint,RecticleDrawMode和Overlay一樣丟失。
新對象全部包含在com.google.android.gms.maps。*包中。
Android地圖V1
在地圖V1,使用MyLocationOverlay以檢測用戶的位置
List overlaysoverlays = mapView.getOverlays();
MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);
myLocationOverlay.enableMyLocation();
overlays.add(myLocationOverlay);
Android地圖v2的
您可以激活秀我的位置在地圖上按鈕很容易像這樣:
googleMap.setMyLocationEnabled(true);
我的位置按鈕將出現在只有當啓用了我的位置層屏幕的右上角。當用戶單擊該按鈕時,如果用戶的位置當前已知,則攝像機會將動畫集中在用戶的當前位置。
高亮標記變得非常簡單。更改標記圖標已成爲一個單線程。
Android地圖V1
private void highlightMarker(int index) {
Drawable d = getResources().getDrawable(R.drawable.pin_green);
Rect copyBounds = overlay.getMarker(0).copyBounds();
d.setBounds(copyBounds);
overlay.setMarker(d);
SitesOverlay sitesOverlay = (SitesOverlay) map.getOverlays().get(0);
sitesOverlay.refresh();
}
Android地圖v2的
private void highLightMarker(int index) {
Marker marker = markers.get(index))
marker.setIcon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE));
}
更多步驟的壞消息check this tutorial
+1。從v1遷移到v2是一項重大任務。幸運的是,v1中很多很難的事情在v2中很容易實現。 – 2013-05-08 02:10:44
埃米爾,過去幾天我一直是你博客上的常客。謝謝你從一個隨機的互聯網人。 – warpedspeed 2013-05-08 02:13:01
@warpedspeed,歡迎你。如果您有任何其他問題,歡迎您在這裏或博客上發佈。 – 2013-05-08 02:15:42