com.mapbar.android.maps
Class MapController

java.lang.Object
  extended by com.mapbar.android.maps.MapController
All Implemented Interfaces:
android.view.View.OnKeyListener

public final class MapController
extends java.lang.Object
implements android.view.View.OnKeyListener

一个工具类,用于控制地图的缩放(zooming)和平移(panning)。


Method Summary
 void animateTo(GeoPoint point)
           对于给定的坐标点,开始动画显示地图。
 void animateTo(GeoPoint point, android.os.Message message)
           对于给定的坐标点,开始动画显示地图。
 void animateTo(GeoPoint point, java.lang.Runnable runnable)
           对于给定的坐标点,开始动画显示地图。
 boolean onKey(android.view.View v, int keyCode, android.view.KeyEvent event)
           处理按键事件,把事件翻译成合适的地图平移。
 void scrollBy(int x, int y)
           按照给定的像素数据滚动。
 void setCenter(GeoPoint point)
           在给定的中心点上设置地图视图。
 int setZoom(int zoomLevel)
           设置地图的缩放级别。
 void stopAnimation(boolean jumpToFinish)
           终止任何没有完成的动画,有选择性的把地图中心修正到特定的已完成的动画的偏移量上去。
 void stopPanning()
           重新设置平移状态,使得地图静止。
 boolean zoomIn()
           放大一个级别。
 boolean zoomInFixing(int xPixel, int yPixel)
           放大一个级别。
 boolean zoomOut()
           缩小一个级别。
 boolean zoomOutFixing(int xPixel, int yPixel)
           缩小一个级别。
 void zoomToSpan(int latSpanE6, int lonSpanE6)
           尝试调整地图的缩放,以便于显示给定的经纬度范围。
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

stopPanning

public void stopPanning()
重新设置平移状态,使地图静止。如果收到一个key-down事件但永远没有收到key-up事件时,这个方法是必须的。


onKey

public boolean onKey(android.view.View v,
                     int keyCode,
                     android.view.KeyEvent event)
处理按键事件,把事件变换为适度的地图平移。在View.OnkeyListener中定义。

Specified by:
onKey in interface android.view.View.OnKeyListener

animateTo

public void animateTo(GeoPoint point)
对以给定的点GeoPoint,开始动画显示地图。


animateTo

public void animateTo(GeoPoint point,
                      android.os.Message message)
对以给定的GeoPoint,开始动画显示地图。如果动画自然结束,则分发给定的消息。如果动画中途被放弃,则不分发给定的消息。


animateTo

public void animateTo(GeoPoint point,
                      java.lang.Runnable runnable)
对于给定的GeoPoint,开始动画显示地图。

Parameters:
point - 动画显示地图的位置点
runnable - 当动画自然结束,这个回调函数会被UI线程调用。如果动画中途被放弃,这个回调函数不会被调用。

scrollBy

public void scrollBy(int x,
                     int y)
按照给定的像素数据量滚动。没有动画。

Parameters:
x - 水平滚动的像素数
y - 垂直滚动的像素数

setCenter

public void setCenter(GeoPoint point)
在给定的中心点GeoPoint上设置地图视图。没有动画。


stopAnimation

public void stopAnimation(boolean jumpToFinish)
终止所有未完成的动画,有条件的把地图中心修正到已完成的特殊动画的偏移量上去。

Parameters:
jumpToFinish - 如果为true, 在动画末端建立快捷方式。如果为false,则终止动画显示。

setZoom

public int setZoom(int zoomLevel)
设置地图的缩放级别。这个值的取值范围是[1,21], 尽管并非所有的区域都有高缩放级别的地图贴片。这个方法只是直接设定地图的缩放级别;对于渐变动画的缩放,使用zoomIn()zoomOut().

Parameters:
zoomLevel - 当zoomLevel=1时,地球赤道是256像素长。每个后续的缩放级别都是前者的两倍。
Returns:
新的缩放级别,取值范围[1,21]。

zoomToSpan

public void zoomToSpan(int latSpanE6,
                       int lonSpanE6)
尝试调整地图的缩放,以便显示给定的经纬度范围。因为缩放只能达到离散的水平,而且因为地图的比率和给定的比率不匹配,所以匹配的质量是不同的。唯一可以保证的是,缩放后至少新的经度和纬度中的其中之一是相对应参数的2倍。


zoomIn

public boolean zoomIn()
放大一个级别。这是动画缩放的一个步骤。如果你添加了ZoomControls视图(从MapView.getZoomControls()),那么这个函数也可以通过MapView.displayZoomControls(boolean) 调用,使得ZoomControls简洁显示,但不取得焦点。

Returns:
如果缩放成功,返回true,如果达到最大极限,返回false。

zoomOut

public boolean zoomOut()
缩小一个级别。这是动画缩放的一个步骤。如果你添加了ZoomControls视图(从MapView.getZoomControls()),那么这个函数也可以通过MapView.displayZoomControls(boolean)调用,使得ZoomControls简洁显示,但不取得焦点。
Returns:
如果成功缩小返回true,如果达到最小极限,则返回false。

zoomInFixing

public boolean zoomInFixing(int xPixel,
                            int yPixel)
放大一个级别。如果添加了ZoomControls视图(从 MapView.getZoomControls()),那么这个函数也可以通过MapView.displayZoomControls(boolean)来调用,使得ZoomControls简洁显示,但不取得焦点。 这个放大会平移地图使之保持在屏幕的一个固定点上。通过像素坐标来设定固定点。

Parameters:
xPixel - 地图左边固定点缩放的偏移量。
yPixel - 地图上方固定点缩放的偏移量。
Returns:
如果放大成功,返回true;如果达到最大极限,返回false。

zoomOutFixing

public boolean zoomOutFixing(int xPixel,
                             int yPixel)
缩小一个级别。这是动画缩放的一个步骤。如果添加了ZoomControls视图(从MapView.getZoomControls()),那么这个函数也可以通过MapView.displayZoomControls(boolean) 来调用,使得ZoomControls简洁显示,但不取得焦点。

这个放大会平移地图使之保持在屏幕的一个固定点上。通过像素坐标来设定固定点。

Parameters:
xPixel - 地图左边固定缩放的偏移量
yPixel - 地图上边固定缩放的偏移量
Returns:
如果缩放成功,返回true;如果达到最小极限,返回false。