com.baidu.mapapi
类 MapView

java.lang.Object
  继承者 ViewGroup
      继承者 com.baidu.mapapi.MapView

public class MapView
extends ViewGroup

显示地图的View。

一个显示地图的视图,当被焦点选中时,它能捕获按键事件和触摸手势去平移和缩放地图。


嵌套类摘要
static class MapView.LayoutParams
          每个子视图和MapView关联的布局信息。
 
构造方法摘要
MapView(Context context)
          构造一个MapView对象。
MapView(Context context, AttributeSet attrs)
          构造一个MapView对象。
MapView(Context context, AttributeSet attrs, int defStyle)
          构造一个MapView对象。
 
方法摘要
 boolean canCoverCenter()
          检查当前是否有地图贴片覆盖地图中心点。
protected  boolean checkLayoutParams(android.view.ViewGroup.LayoutParams p)
          仅检查p是否是的一个MapView.LayoutParams实例。
 void computeScroll()
          捕获滚动事件,用它们去平移地图。
 void displayZoomControls(boolean takeFocus)
          显示缩放控件,可以选择是否请求焦点选中以便通过按键访问。
protected  android.view.ViewGroup.LayoutParams generateDefaultLayoutParams()
          返回一个Layout参数的集合,其中参数带有ViewGroup.LayoutParams.WRAP_CONTENT的宽度,ViewGroup.LayoutParams.WRAP_CONTENT高度和坐标(0,0)。
protected  android.view.ViewGroup.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams p)
           
 android.view.ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)
           
 MapController getController()
          返回地图的MapController,这个对象可用于控制和驱动平移和缩放。
 int getLatitudeSpan()
          当前纬线的跨度(从地图的上边缘到下边缘),十进制度×1,000,000。
 int getLongitudeSpan()
          当前经度的跨度(从地图的左边缘到地图的右边缘),单位:十进制的度×1,000,000
 GeoPoint getMapCenter()
          返回当前地图中心点位置,做为一个GeoPoint(经度、纬度)的对象。
 int getMaxZoomLevel()
          返回当前视图中心点的最大缩放级别。
 java.util.List<Overlay> getOverlays()
          获取Overlay列表。
 Projection getProjection()
          获取屏幕像素坐标和经纬度对之间的转换。
 View getZoomControls()
          已过时。 
 int getZoomLevel()
          返回当前地图的缩放级别。
 boolean isSatellite()
           
 boolean isStreetView()
           
 boolean isTraffic()
          是否显示交通流量
protected  void onDetachedFromWindow()
          当被分离调用,清除缩放控件。
protected  void onDraw(Canvas canvas)
           
 void onFocusChanged(boolean hasFocus, int direction, Rect previouslyFocusedRect)
          当这个视图的焦点状态变化时被视图系统调用。
 boolean onKeyDown(int keyCode, KeyEvent event)
          把按键传送到overlay。
 boolean onKeyUp(int keyCode, KeyEvent event)
          把按键传送到overlay。
protected  void onLayout(boolean flag, int l, int t, int r, int b)
           
protected  void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
           
 void onRestoreInstanceState(Bundle state)
          把MapView的状态恢复到一个Bundle。
 void onSaveInstanceState(Bundle state)
          把MapView的状态存储到一个Bundle中。
protected  void onSizeChanged(int w, int h, int oldw, int oldh)
          重新调整地图对象的尺寸。
 boolean onTouchEvent(MotionEvent event)
          首先把touch事件传送到overlay,如果它不处理它们,就把事件再传送到手势探测器,然后分发探测到的手势。
 boolean onTrackballEvent(MotionEvent event)
          把trackball事件首先传送到overlay,如果它们不处理消息,尝试取平移和点击。
 void onWindowFocusChanged(boolean hasFocus)
          当包含这个视图的窗口得到或是去焦点时被调用。
 void preLoad()
           
 void setBuiltInZoomControls(boolean on)
          设置是否启用内置的缩放控件。
 void setReticleDrawMode(com.baidu.mapapi.MapView.ReticleDrawMode mode)
          暂不支持
 void setSatellite(boolean on)
          暂不支持
 void setStreetView(boolean on)
          暂不支持
 void setTraffic(boolean on)
           
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

MapView

public MapView(Context context,
               AttributeSet attrs,
               int defStyle)
构造一个MapView对象。

参数:
context - 一个MapActivity 对象。
attrs - 一个属性集;当前没有任何属性。
defStyle - 应用于这个view的默认风格。如果为0,不应用任何风格(主题以外的)。这要么是一个属性资源,其属性值可以从当前主题中得到,或者是一个明确的风格资源。

MapView

public MapView(Context context,
               AttributeSet attrs)
构造一个MapView对象。

参数:
context - 一个MapActivity 对象。
attrs - 一个属性集;当前没有使用任何属性。

MapView

public MapView(Context context)
构造一个MapView对象。

参数:
context - 一个 MapActivity 对象。
方法详细信息

canCoverCenter

public boolean canCoverCenter()
检查当前是否有地图贴片覆盖地图中心点。

返回:
如果地图中心有一个地图贴片,返回true,否则返回false。

checkLayoutParams

protected boolean checkLayoutParams(android.view.ViewGroup.LayoutParams p)
仅检查p是否是的一个MapView.LayoutParams实例。

参数:
p - 待验证的LayoutParams对象。
返回:
如果p是MapView LayoutParams的一个实例,返回true;否则返回false。

computeScroll

public void computeScroll()
捕获滚动事件,用它们去平移地图。


displayZoomControls

public void displayZoomControls(boolean takeFocus)
显示缩放控件,可以选择是否请求焦点选中以便通过按键访问。

参数:
takeFocus - 如果为true,则焦点选中缩放控件。否则不对缩放控件聚焦。

generateDefaultLayoutParams

protected android.view.ViewGroup.LayoutParams generateDefaultLayoutParams()
返回一个Layout参数的集合,其中参数带有ViewGroup.LayoutParams.WRAP_CONTENT的宽度,ViewGroup.LayoutParams.WRAP_CONTENT高度和坐标(0,0)。


generateLayoutParams

public android.view.ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)

generateLayoutParams

protected android.view.ViewGroup.LayoutParams generateLayoutParams(android.view.ViewGroup.LayoutParams p)

getController

public MapController getController()
返回地图的MapController,这个对象可用于控制和驱动平移和缩放。

返回:
地图的MapController。

getLatitudeSpan

public int getLatitudeSpan()
当前纬线的跨度(从地图的上边缘到下边缘),十进制度×1,000,000。

返回:
纬线跨度,十进制×1,000,000

getLongitudeSpan

public int getLongitudeSpan()
当前经度的跨度(从地图的左边缘到地图的右边缘),单位:十进制的度×1,000,000

返回:
经线的跨度,十进制度×1,000,000

getMapCenter

public GeoPoint getMapCenter()
返回当前地图中心点位置,做为一个GeoPoint(经度、纬度)的对象。

返回:
地图中心点的GeoPoint对象。

getMaxZoomLevel

public int getMaxZoomLevel()
返回当前视图中心点的最大缩放级别。

返回:
地图当前的中心的最大缩放级别。

getOverlays

public final java.util.List<Overlay> getOverlays()
获取Overlay列表。 这个列表中的任何一个 Overlay都将被绘制(以升序方式),都能收到事件(以降序方式,直到返回true)。

返回:
Overlay列表。

getProjection

public Projection getProjection()
获取屏幕像素坐标和经纬度对之间的转换。

返回:
地图在当前状态的投影转换。用户不应该把这个对象用于其它绘制,因为地图的投影转换是变化的。

getZoomControls

@Deprecated
public View getZoomControls()
已过时。 


getZoomLevel

public int getZoomLevel()
返回当前地图的缩放级别。

返回:
地图的缩放级别。

isSatellite

public boolean isSatellite()

isStreetView

public boolean isStreetView()

isTraffic

public boolean isTraffic()
是否显示交通流量

返回:
如果地图为显示交通流量模式,返回true,否则返回false。

onDetachedFromWindow

protected void onDetachedFromWindow()
当被分离调用,清除缩放控件。


onFocusChanged

public void onFocusChanged(boolean hasFocus,
                           int direction,
                           Rect previouslyFocusedRect)
当这个视图的焦点状态变化时被视图系统调用。 捕获焦点变化事件,终止平移。


onKeyDown

public boolean onKeyDown(int keyCode,
                         KeyEvent event)
把按键传送到overlay。


onKeyUp

public boolean onKeyUp(int keyCode,
                       KeyEvent event)
把按键传送到overlay。


onTouchEvent

public boolean onTouchEvent(MotionEvent event)
首先把touch事件传送到overlay,如果它不处理它们,就把事件再传送到手势探测器,然后分发探测到的手势。


onTrackballEvent

public boolean onTrackballEvent(MotionEvent event)
把trackball事件首先传送到overlay,如果它们不处理消息,尝试取平移和点击。


onLayout

protected void onLayout(boolean flag,
                        int l,
                        int t,
                        int r,
                        int b)

onDraw

protected void onDraw(Canvas canvas)

onMeasure

protected void onMeasure(int widthMeasureSpec,
                         int heightMeasureSpec)

onRestoreInstanceState

public void onRestoreInstanceState(Bundle state)
把MapView的状态恢复到一个Bundle。 当前,这个函数只恢复缩放窗口的中心、缩放级别、和交通状态。

参数:
state -

onSaveInstanceState

public void onSaveInstanceState(Bundle state)
把MapView的状态存储到一个Bundle中。 当前,此函数只存储缩放窗口的中心、缩放级别、和交通流量的状态

参数:
state -

onSizeChanged

protected void onSizeChanged(int w,
                             int h,
                             int oldw,
                             int oldh)
重新调整地图对象的尺寸。 如果覆盖该方法,一定要通过调用super.onSizeChanged()。


onWindowFocusChanged

public void onWindowFocusChanged(boolean hasFocus)
当包含这个视图的窗口得到或是去焦点时被调用。 捕获焦点变化事件后终止平移。


preLoad

public void preLoad()

setBuiltInZoomControls

public void setBuiltInZoomControls(boolean on)
设置是否启用内置的缩放控件。 如果启用,MapView将自动显示这些缩放控件。

参数:
on - 内置的缩放控件是否启用。如果是false,用户处理缩放控件在界面上的显示。

setReticleDrawMode

public void setReticleDrawMode(com.baidu.mapapi.MapView.ReticleDrawMode mode)
暂不支持


setSatellite

public void setSatellite(boolean on)
暂不支持


setStreetView

public void setStreetView(boolean on)
暂不支持


setTraffic

public void setTraffic(boolean on)