UISettingDemo.java
代码没有什么可以说的,就是对MapController类各种方法的调用,那好,我们今天就来八一八MapController。
1 MapController怎么获取。
MapController传统的是在MapView findById之后通过调用MapView的getController()获取的。不过MapController有自己的构造方法:MapController(MapView mapView)。其实也是通过mapview获取的,换汤不换药。
2 有哪些方法。MapController的方法主要是对地图的放大缩小,俯视旋转,手势键盘处理,指南针位置,动画等。其实动画的方法animateTo ,这个方法会触发MKMapViewListener的下列方法,这个第三节提到的。
- @Override
- public void onMapAnimationFinish() {
- /**
- * 地图完成带动画的操作(如: animationTo())后,此回调被触发
- */
- }
看看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: 平移手势关闭
-