代碼沒有什麼可以說的,就是對MapController類各種方法的調用,那好,我們今天就來八一八MapController
。
1 MapController怎麼獲取。
MapController傳統的是在MapView findById之後通過調用MapView的getController()獲取的。不過
MapController有自己的構造方法:MapController(MapView mapView)。其實也是通過mapview獲取的,換湯不
換藥。
2 有哪些方法。MapController的方法主要是對地圖的放大縮小,俯視旋轉,手勢鍵盤處理,指南針位置,動畫
等。其實動畫的方法animateTo ,這個方法會觸發MKMapViewListener的下列方法,這個第三節提到的。
01. @Override
02. public void onMapAnimationFinish() {
03. /**
04. * 地圖完成帶動畫的操作(如: animationTo())後,此回調被觸發
05. */
06. }
看看MapController有哪些方法。
animateTo
public void animateTo(GeoPoint point)將給定的位置點以動畫形式移動至地圖中心 對以給定的點GeoPoint
,開始動畫顯示地圖。
--------------------------------------------------------------------------------
animateTo
public void animateTo(GeoPoint point,
Message message)將給定的位置點以動畫形式移動至地圖中心. 如果動畫自然結束,
則分發給定的消息。如果動畫中途被放棄,則不分發給定的消息。
--------------------------------------------------------------------------------
onKey
public boolean onKey(View v,
int keyCode,
KeyEvent event)
--------------------------------------------------------------------------------
scrollBy
public void scrollBy(int x,
int y)將給定的屏幕像素點滾動至地圖中心.
參數:
x - 水平滾動的像素數
y - 垂直滾動的像素數
--------------------------------------------------------------------------------
enableClick
public void enableClick(boolean isEnable)
--------------------------------------------------------------------------------
setCenter
public void setCenter(GeoPoint point)在給定的中心點GeoPoint上設置地圖視圖。
--------------------------------------------------------------------------------
setRotation
public void setRotation(int rotate)設置地圖旋轉角度
參數:
rotate - 旋轉角度,單位:度。範圍:-180~180
--------------------------------------------------------------------------------
setOverlooking
public void setOverlooking(int overlook)設置地圖俯視角度
參數:
overlook - 俯視角度,單位:度。範圍:0~-45
--------------------------------------------------------------------------------
setZoom
public float setZoom(float zoomLevel)設置地圖的縮放級別。 這個值的取值範圍是[3,19]。
參數:
zoomLevel - 縮放級別,取值範圍是[3,19]
返回:
新的縮放級別,取值範圍[3,19]。
--------------------------------------------------------------------------------
zoomIn
public boolean zoomIn()放大一個級別。
返回:
如果縮放成功,返回true,如果達到最大極限,返回false。
--------------------------------------------------------------------------------
zoomInFixing
public boolean zoomInFixing(int xPixel,
int yPixel)放大一個級別。
這個放大會平移地圖使之保持在屏幕的一個固定點上。通過像素座標來設定固定點。
參數:
xPixel - 地圖左邊固定點縮放的偏移量。
yPixel - 地圖上方固定點縮放的偏移量。
返回:
如果放大成功,返回true;如果達到最大極限,返回false。
--------------------------------------------------------------------------------
zoomOut
public boolean zoomOut()縮小一個級別。
返回:
如果成功縮小返回true,如果達到最小極限,則返回false。
--------------------------------------------------------------------------------
zoomOutFixing
public boolean zoomOutFixing(int xPixel,
int yPixel)縮小一個級別。
這個縮放也將把地圖平移到屏幕的一個固定點上。通過像素座標來設定固定點。
參數:
xPixel - 地圖左邊固定縮放的偏移量
yPixel - 地圖上邊固定縮放的偏移量
返回:
如果縮放成功,返回true;如果達到最小極限,返回false。
--------------------------------------------------------------------------------
zoomToSpan
public void zoomToSpan(int latSpanE6,
int lonSpanE6)縮放地圖到能容下指定的經緯度範圍
參數:
latSpanE6 - 緯度範圍
lonSpanE6 - 經度範圍
--------------------------------------------------------------------------------
handleFling
public boolean handleFling(MotionEvent e1,
MotionEvent e2,
float velocityX,
float velocityY)處理fling事件
返回:
true 事件被處理了, false 事件沒有被處理
--------------------------------------------------------------------------------
setCompassMargin
public void setCompassMargin(int x,
int y)設置指南針位置
參數:
x - 指南針中點x座標值 , 座標系原點爲MapView左上頂點
y - 指南針中點y座標值 , 座標系原點爲MapView左上頂點
--------------------------------------------------------------------------------
isZoomGesturesEnabled
public boolean isZoomGesturesEnabled()獲取縮放手勢開關狀態
返回:
true: 縮放手勢開啓 , false: 縮放手勢關閉
--------------------------------------------------------------------------------
setZoomGesturesEnabled
public void setZoomGesturesEnabled(boolean isZoomGesturesEnabled)設置縮放手勢狀態
參數:
isZoomGesturesEnabled - true: 縮放手勢開啓 , false: 縮放手勢關閉
--------------------------------------------------------------------------------
isRotationGesturesEnabled
public boolean isRotationGesturesEnabled()獲取旋轉手勢開關狀態
返回:
true: 旋轉手勢開啓 , false: 旋轉手勢關閉
--------------------------------------------------------------------------------
setRotationGesturesEnabled
public void setRotationGesturesEnabled(boolean isRotationGesturesEnabled)設置旋轉手勢開關狀態
參數:
isRotationGesturesEnabled - true: 旋轉手勢開啓 , false: 旋轉手勢關閉
--------------------------------------------------------------------------------
isOverlookingGesturesEnabled
public boolean isOverlookingGesturesEnabled()設置俯視手勢狀態
返回:
true: 俯視手勢開啓 , false: 俯視手勢關閉
--------------------------------------------------------------------------------
setOverlookingGesturesEnabled
public void setOverlookingGesturesEnabled(boolean isOverlookingGesturesEnabled)設置俯視手勢開關狀
態
參數:
isOverlookingGesturesEnabled - true: 俯視手勢開啓 , false: 俯視手勢關閉
--------------------------------------------------------------------------------
isScrollGesturesEnabled
public boolean isScrollGesturesEnabled()獲取平移手勢開關狀態
返回:
true: 平移手勢開啓 , false: 平移手勢關閉
--------------------------------------------------------------------------------
setScrollGesturesEnabled
public void setScrollGesturesEnabled(boolean isScrollGesturesEnabled)設置平移手勢開關狀態
參數:
isScrollGesturesEnabled - true: 平移手勢開啓 , false: 平移手勢關閉