代码没有什么可以说的,就是对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: 平移手势关闭