UISettingDemo.java

代码没有什么可以说的,就是对MapController类各种方法的调用,那好,我们今天就来八一八MapController。

1 MapController怎么获取。

MapController传统的是在MapView findById之后通过调用MapView的getController()获取的。不过MapController有自己的构造方法:MapController(MapView mapView)。其实也是通过mapview获取的,换汤不换药。

2 有哪些方法。MapController的方法主要是对地图的放大缩小,俯视旋转,手势键盘处理,指南针位置,动画等。其实动画的方法animateTo ,这个方法会触发MKMapViewListener的下列方法,这个第三节提到的。

@Override

publicvoidonMapAnimationFinish() {

/**

*  地图完成带动画的操作(如: 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: 平移手势关闭

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐