public class MapView extends ViewGroup implements IMapView, MapViewConstants, MultiTouchController.MultiTouchObjectCanvas<java.lang.Object>
限定符和类型 | 类和说明 |
---|---|
static class |
MapView.LayoutParams
mapview的布局文件的详细信息
|
static interface |
MapView.OnFirstLayoutListener
布局view的监听者
|
ANIMATION_DURATION_DEFAULT, ANIMATION_DURATION_LONG, ANIMATION_DURATION_SHORT, ANIMATION_SMOOTHNESS_DEFAULT, ANIMATION_SMOOTHNESS_HIGH, ANIMATION_SMOOTHNESS_LOW, DEBUGMODE, MINIMUM_ZOOMLEVEL, NOT_SET
构造器和说明 |
---|
MapView(Context context)
构造器
|
MapView(Context context,
AttributeSet attrs)
XML中使用的构造函数,且使用默认的瓦片资源url
|
MapView(Context context,
MapTileProviderBase aTileProvider)
构造器
|
MapView(Context context,
MapTileProviderBase aTileProvider,
Handler tileRequestCompleteHandler)
构造器
|
限定符和类型 | 方法和说明 |
---|---|
void |
addOnFirstLayoutListener(MapView.OnFirstLayoutListener listener)
设置地图准备完毕后的监听listener
|
boolean |
canZoomIn()
地图是否可以放大
|
boolean |
canZoomOut()
地图是否还能缩小
|
void |
computeScroll() |
boolean |
dispatchTouchEvent(MotionEvent event) |
ViewGroup.LayoutParams |
generateLayoutParams(AttributeSet attrs) |
BoundingBoxE6 |
getBoundingBox()
获取地图北纬南纬东经西经描述的经纬度信息
|
IMapController |
getController()
获取地图控制器
|
java.lang.Object |
getDraggableObjectAtPoint(MultiTouchController.PointInfo pt)
看看有没有在当前点的拖动对象,或者如果没有任何拖动的空值,开始一个多点触摸
|
Rect |
getIntrinsicScreenRect(Rect reuse)
屏幕的坐标范围Rect
|
int |
getLatitudeSpan()
获取lat
|
int |
getLongitudeSpan()
获取lon
|
IGeoPoint |
getMapCenter()
获取地图中心点
|
IGeoPoint |
getMapMaxPoint()
获取到地图右下角坐标
|
IGeoPoint |
getMapMinPoint()
获取地图左上角位置
|
float |
getMapOrientation()
获取地图旋转角度值
|
IGeoPoint |
getMapPoint(int width,
int height) |
int |
getMaxZoomLevel()
获取最大zoom级别
|
int |
getMinZoomLevel()
获取最小zoom级别
|
OverlayManager |
getOverlayManager()
获取覆盖层管理
|
java.util.List<Overlay> |
getOverlays()
覆盖层列表,第一个覆盖层会最先绘制,最后一个则作为最高一层展示
使用者可以添加/移除/冲排序
|
void |
getPositionAndScale(java.lang.Object obj,
MultiTouchController.PositionAndScale objPosAndScaleOut)
获得拖动对象的屏幕坐标的原点,和对象的参数转化成屏幕坐标目标坐标,。
|
Projection |
getProjection()
获取屏幕坐标与地图经纬度坐标转换对象
|
Rect |
getScreenRect(Rect reuse)
获取当前屏幕的坐标范围Rect
|
BoundingBoxE6 |
getScrollableAreaLimit()
获取经纬度滚动范围
|
Scroller |
getScroller()
view Scroller对象
|
MapTileProviderBase |
getTileProvider()
瓦片资源提供者
|
Handler |
getTileRequestCompleteHandler()
获取瓦片下载完毕后地图处理hanlder
|
int |
getZoomLevel()
获取zoom级别
|
int |
getZoomLevel(boolean aPending)
获取当前的zoom级别
|
void |
invalidateMapCoordinates(int left,
int top,
int right,
int bottom)
设置不可用的坐标范围
|
void |
invalidateMapCoordinates(Rect dirty)
设置不可用的坐标范围 Rect
|
boolean |
isAnimating()
地图在缩放时,避免重新计算视图动画
|
boolean |
isFlingEnabled()
地图是否可以Fling
|
boolean |
isLayoutOccurred()
布局触发出现
|
boolean |
isTilesScaledToDpi()
瓦片资源是否转化成DPI
|
void |
onDetach()
地图分离
|
boolean |
onKeyDown(int keyCode,
KeyEvent event) |
boolean |
onKeyUp(int keyCode,
KeyEvent event) |
boolean |
onTouchEvent(MotionEvent event) |
boolean |
onTrackballEvent(MotionEvent event) |
void |
postInvalidateMapCoordinates(int left,
int top,
int right,
int bottom)
执行设置不可用的坐标范围
|
void |
removeOnFirstLayoutListener(MapView.OnFirstLayoutListener listener)
移除地图准备完毕后的监听listener
|
void |
scrollTo(int x,
int y) |
void |
selectObject(java.lang.Object obj,
MultiTouchController.PointInfo pt)
在指定的点选择一个对象。
|
void |
setBackgroundColor(int pColor)
设置背景颜色
|
void |
setBuiltInZoomControls(boolean on)
设置内置的缩放控件
|
void |
setFlingEnabled(boolean b)
设置地图是否可以Fling
|
void |
setMapListener(MapListener ml) |
void |
setMapOrientation(float degrees)
设置地图旋转角度( 360度)
|
void |
setMaxZoomLevel(java.lang.Integer zoomLevel)
设置最大zoom级别
|
void |
setMinZoomLevel(java.lang.Integer zoomLevel)
设置最小zoom级别
|
void |
setMultiTouchControls(boolean on)
设置多点触控是否开启
|
void |
setOverlayManager(OverlayManager overlayManager)
设置覆盖层管理
|
boolean |
setPositionAndScale(java.lang.Object obj,
MultiTouchController.PositionAndScale aNewObjPosAndScale,
MultiTouchController.PointInfo aTouchPoint)
回调来更新和规模的位置(在目标坐标)目前被拖动的对象.
|
void |
setScrollableAreaLimit(BoundingBoxE6 boundingBox)
设置地图限制在BoundingBoxE6指定的范围内滚动,在内部不限制其滚动缩放
|
void |
setTileProvider(MapTileProviderBase base)
enables you to programmatically set the tile profile (zip, assets, sqlite, etc)
可以支持使用瓦片资源(zip,assets,sqlite,etc)格式
|
void |
setTileSource(ITileSource aTileSource)
设置瓦片资源加载来源
|
void |
setTilesScaledToDpi(boolean tilesScaledToDpi)
设置瓦片资源是否转化成DPI
|
void |
setUseDataConnection(boolean aMode)
是否使用网络链接获取(前提可用)
|
boolean |
useDataConnection()
是否使用网络链接获取(前提可用)
|
void |
zoomToBoundingBox(BoundingBoxE6 boundingBox)
已过时。
|
void |
zoomToBoundingBox(BoundingBoxE6 boundingBox,
boolean animated)
根据给定的经纬度描述信息范围自动缩放到指定级别
|
public MapView(Context context, AttributeSet attrs)
context
- 上下文attrs
- AttributeSetpublic MapView(Context context)
context
- 上下文public MapView(Context context, MapTileProviderBase aTileProvider)
context
- 上下文aTileProvider
- 瓦片资源提供者public MapView(Context context, MapTileProviderBase aTileProvider, Handler tileRequestCompleteHandler)
context
- 上下文aTileProvider
- 瓦片资源提供者tileRequestCompleteHandler
- 瓦片请求加载完毕后处理handlerpublic IMapController getController()
IMapView
getController
在接口中 IMapView
public java.util.List<Overlay> getOverlays()
public OverlayManager getOverlayManager()
public void setOverlayManager(OverlayManager overlayManager)
overlayManager
- overlayManagerpublic MapTileProviderBase getTileProvider()
public Scroller getScroller()
public Handler getTileRequestCompleteHandler()
public int getLatitudeSpan()
IMapView
getLatitudeSpan
在接口中 IMapView
public int getLongitudeSpan()
IMapView
getLongitudeSpan
在接口中 IMapView
public BoundingBoxE6 getBoundingBox()
public Rect getScreenRect(Rect reuse)
reuse
- Rectpublic Rect getIntrinsicScreenRect(Rect reuse)
reuse
- 屏幕Rect对象public Projection getProjection()
getProjection
在接口中 IMapView
public boolean isTilesScaledToDpi()
public void setTilesScaledToDpi(boolean tilesScaledToDpi)
tilesScaledToDpi
- true OR falsepublic void setTileSource(ITileSource aTileSource)
aTileSource
- 瓦片资源@Deprecated public void zoomToBoundingBox(BoundingBoxE6 boundingBox)
boundingBox
- 经纬度描述范围内容public void zoomToBoundingBox(BoundingBoxE6 boundingBox, boolean animated)
boundingBox
- 经纬度范围描述信息animated
- 是否启用缩放动画public int getZoomLevel()
IMapView
getZoomLevel
在接口中 IMapView
public int getZoomLevel(boolean aPending)
aPending
- 是否要执行动画返回到指定的级别,否则则到当前的级别public int getMinZoomLevel()
public int getMaxZoomLevel()
getMaxZoomLevel
在接口中 IMapView
public void setMinZoomLevel(java.lang.Integer zoomLevel)
public void setMaxZoomLevel(java.lang.Integer zoomLevel)
public boolean canZoomIn()
public boolean canZoomOut()
public IGeoPoint getMapCenter()
IMapView
getMapCenter
在接口中 IMapView
public IGeoPoint getMapMinPoint()
public IGeoPoint getMapMaxPoint()
public void setMapOrientation(float degrees)
degrees
- 旋转角度public float getMapOrientation()
public boolean useDataConnection()
public void setUseDataConnection(boolean aMode)
aMode
- (前提可用)true使用网络连接,false不是用网络连接public void setScrollableAreaLimit(BoundingBoxE6 boundingBox)
boundingBox
- 经纬度范围public BoundingBoxE6 getScrollableAreaLimit()
public void invalidateMapCoordinates(Rect dirty)
dirty
- 范围 Rectpublic void invalidateMapCoordinates(int left, int top, int right, int bottom)
left
- lefttop
- topright
- rightbottom
- bottompublic void postInvalidateMapCoordinates(int left, int top, int right, int bottom)
left
- lefttop
- topright
- rightbottom
- bottompublic ViewGroup.LayoutParams generateLayoutParams(AttributeSet attrs)
public void addOnFirstLayoutListener(MapView.OnFirstLayoutListener listener)
listener
- OnFirstLayoutListener监听listenerpublic void removeOnFirstLayoutListener(MapView.OnFirstLayoutListener listener)
listener
- OnFirstLayoutListener监听listenerpublic boolean isLayoutOccurred()
public void onDetach()
public boolean onKeyDown(int keyCode, KeyEvent event)
public boolean onKeyUp(int keyCode, KeyEvent event)
public boolean onTrackballEvent(MotionEvent event)
public boolean dispatchTouchEvent(MotionEvent event)
public boolean onTouchEvent(MotionEvent event)
public void computeScroll()
public void scrollTo(int x, int y)
public void setBackgroundColor(int pColor)
IMapView
setBackgroundColor
在接口中 IMapView
public IGeoPoint getMapPoint(int width, int height)
public boolean isAnimating()
public java.lang.Object getDraggableObjectAtPoint(MultiTouchController.PointInfo pt)
getDraggableObjectAtPoint
在接口中 MultiTouchController.MultiTouchObjectCanvas<java.lang.Object>
pt
- 拖动/拉伸操作,此过程必须返回一个对象的一些非空引用。public void getPositionAndScale(java.lang.Object obj, MultiTouchController.PositionAndScale objPosAndScaleOut)
getPositionAndScale
在接口中 MultiTouchController.MultiTouchObjectCanvas<java.lang.Object>
obj
- .被拖/拉伸的对象objPosAndScaleOut
- objposandscaleout set()记录对象的当前位置和规模.public void selectObject(java.lang.Object obj, MultiTouchController.PointInfo pt)
selectObject
在接口中 MultiTouchController.MultiTouchObjectCanvas<java.lang.Object>
obj
- 被选中的对象由单点触摸,或在触摸上状态为零.pt
- 当前的触摸点.public boolean setPositionAndScale(java.lang.Object obj, MultiTouchController.PositionAndScale aNewObjPosAndScale, MultiTouchController.PointInfo aTouchPoint)
setPositionAndScale
在接口中 MultiTouchController.MultiTouchObjectCanvas<java.lang.Object>
obj
- 被拖/拉伸的对象.aNewObjPosAndScale
- new 对象的位置和尺度,在对象坐标。返回之前使用此移动/调整对象的大小.aTouchPoint
- 关于当前触摸点的信息,包括多点触控信息和公用计算和缓存的多点触控捏直径等public void setMapListener(MapListener ml)
public void setBuiltInZoomControls(boolean on)
on
- public void setMultiTouchControls(boolean on)
on
- public void setFlingEnabled(boolean b)
b
- true OR falsepublic boolean isFlingEnabled()
public void setTileProvider(MapTileProviderBase base)
base
- 瓦片提供者MapTileProviderBasic