public class TKMapView
extends RelativeLayout
Modifier and Type | Class and Description |
---|---|
static interface |
TKMapView.ILatlonTransform |
static interface |
TKMapView.ITileProvider
瓦片图片提供者
|
static class |
TKMapView.MapType |
static interface |
TKMapView.OnClickPOIListener |
static interface |
TKMapView.OnDoubleClick |
static interface |
TKMapView.OnDownloadMapListener |
static interface |
TKMapView.OnDrawFrameListener |
static interface |
TKMapView.OnLongClickListener |
static interface |
TKMapView.OnMoveListener |
static interface |
TKMapView.OnMultiTouchZoomListener |
static interface |
TKMapView.OnRotateEndListener |
static interface |
TKMapView.OnRotateListener |
static interface |
TKMapView.OnTouchListener |
Modifier and Type | Field and Description |
---|---|
static TKMapView.ILatlonTransform |
defaultLatlonTransform
获取偏转之后的当前位置,该操作不是耗时操作,可以直接调用(在后台自动定位)
若需开启或关闭后台自动定位,请使用setStopRefreshMyLocation方法
若需获取GPS的原始位置(含海拔等),请使用TigerMapSDK.getCurrentLocation()方法
|
Constructor and Description |
---|
TKMapView(Context context) |
TKMapView(Context context,
AttributeSet attrs) |
Modifier and Type | Method and Description |
---|---|
void |
addOnClickPOIListener(TKMapView.OnClickPOIListener listener)
添加点击地图POI
是否允许UI线程操作:是
|
void |
addOnDoubleClickListener(TKMapView.OnDoubleClick listener)
添加双击地图事件
是否允许UI线程操作:??
|
void |
addOnDownloadMapListener(TKMapView.OnDownloadMapListener listener)
添加预下载地图事件
是否允许UI线程操作:否
|
void |
addOnDrawFrameListener(TKMapView.OnDrawFrameListener listener)
添加刷新地图事件
是否允许UI线程操作:否
|
void |
addOnLongClickListener(TKMapView.OnLongClickListener listener)
添加长按
是否允许UI线程操作:否
|
void |
addOnMoveBeginListener(TKMapView.OnMoveListener listener)
添加移动地图(开始)事件
是否允许UI线程操作:是
|
void |
addOnMoveEndListener(TKMapView.OnMoveListener listener)
添加移动地图(结束)事件
是否允许UI线程操作:否
|
void |
addOnMultiTouchZoomListener(TKMapView.OnMultiTouchZoomListener listener)
添加双点触屏以便于放大缩小地图的事件
是否允许UI线程操作:是
|
void |
addOnRotateEndListener(TKMapView.OnRotateEndListener listener)
添加旋转地图end事件
是否允许UI线程操作:是
|
void |
addOnRotateListener(TKMapView.OnRotateListener listener)
添加旋转地图事件
是否允许UI线程操作:是
|
void |
addOnTouchDownListener(TKMapView.OnTouchListener listener)
添加触屏(按下)事件
是否允许UI线程操作:是
|
void |
addOnTouchListener(TKMapView.OnTouchListener listener)
添加触屏事件
是否允许UI线程操作:是
|
void |
addOnTouchPinListener(TKMapView.OnTouchListener listener)
添加点击地图上的气泡(参见BubbleItem)的事件
是否允许UI线程操作:是
|
void |
addShape(CustomShape shape)
在地图上添加自定义图形
|
void |
addShape(TKShape shape)
在地图上添加相应多边形,圆等
|
void |
cancelSnap()
取消快照地图
|
void |
centerOnPosition(Latlon latlon)
将当前地图移动到以指定经纬度为中心点的位置,并且初始化tile信息
这个方法建议仅在初始化的时候使用,其他情况请使用panToPosition(Latlon latlon)方法
|
void |
centerOnPosition(Latlon latlon,
float zoomLevel)
将当前地图移动到以指定经纬度为中心点的位置,并且初始化tile信息
这个方法建议仅在初始化的时候使用,其他情况请使用panToPosition(Latlon latlon)方法和setZoomLevel方法
|
void |
changeMapType(TKMapView.MapType mapType)
切换地图模式
MapType.STREET, MapType.SATELLITE
|
void |
clearMap()
还原地图状态至初始状态,清除地图上的气泡点等
|
void |
deleteShapeByName(java.lang.String shapeName)
删除地图上指定的几何图形(若无则不删除)
|
void |
downloadCityMap(Context context,
java.lang.String cityName,
MapDatDownload.DownloadCallback downloadCallback)
下载指定城市的地图
|
void |
forceRefreshMap() |
int |
getCenterCityId()
获得当前城市的城市ID
|
Latlon |
getCenterPosition() |
Latlon |
getCityCenterPosition(int cityId)
获得当前城市的中心点
|
CustomShape |
getCustomShapeByName(java.lang.String shapeName)
找到地图上指定的自定义几何图形
|
int |
getFittingZoomLevel(java.util.ArrayList<Latlon> latlons,
Latlon centerPosition)
获取最佳ZoomLevel
请注意,第一个参数不可以是空,否则返回-1
|
InfoWindow |
getInfoWindow() |
TKMapView.MapType |
getMapType() |
Rect |
getPadding()
获取当前地图View四周的padding值
|
java.lang.String |
getPOIName(Latlon latlon)
获得指定经纬度下的POI名字(是指地图数据中的POI,不访问网络)
|
TKShape |
getShapeByName(java.lang.String shapeName)
找到地图上指定的几何图形
|
Bitmap |
getSnapBitmap()
获取快照地图
|
int |
getTileSize()
当前地图渲染的瓦片大小
|
float |
getZoomLevel() |
int |
getZoomPaddingBottom()
获得放大缩小按钮与底部的距离
|
int |
getZoomViewVisibility()
查看放大缩小按钮是否显示
|
float |
getZRotation()
获得当前地图的旋转角度
|
boolean |
isCancelledSnap() |
XYFloat |
latlonToScreenXY(Latlon latlon)
将经纬度度值转换为屏幕坐标像素值
|
void |
moveView(float left,
float top)
将地图向左和上移动指定的像素数,负数代表反向
|
void |
panToPosition(Latlon latlon)
将当前地图移动到指定的经纬度
|
void |
panToPosition(Latlon latlon,
long duration)
将当前地图移动到指定的经纬度
|
void |
panToPosition(Latlon latlon,
long duration,
TKMapView.OnMoveListener listener)
在指定的持续时间内将当前地图移动到指定的经纬度
并在移动完成后执行响应事件
pan to the position inside duration time, and execute listener when the pan is done.
|
void |
pause()
停止刷新地图,在地图所在页面的onPause()方法中调用
|
boolean |
positionInScreen(Latlon latlon)
判断该经纬度是否在屏幕中
|
void |
refreshMap()
刷新地图
同时刷新“放大”、“缩小”等控制按钮的位置
|
void |
removeAllOnClickPOIListeners() |
void |
removeAllOnDoubleClickListeners() |
void |
removeAllOnDownloadMapListeners() |
void |
removeAllOnDrawFrameListeners() |
void |
removeAllOnLongClickListeners() |
void |
removeAllOnMoveListeners() |
void |
removeAllOnMultiTouchZoomListeners() |
void |
removeAllOnRotateEndListeners() |
void |
removeAllOnRotateListeners() |
void |
removeAllOnTouchListeners() |
void |
requestSnap(Latlon centerPos)
请求快照地图
|
void |
resume()
继续加载地图,在地图所在页面的onResume()方法中调用
|
void |
rotateLocationZToDegree(float zRotation) |
void |
rotateZToDegree(float zRotation) |
Latlon |
screenXYToLatlon(XYFloat screenXY)
将屏幕坐标像素值转换为经纬度度
|
void |
setStopRefreshMyLocation(boolean isStop)
设置是否停止自动定位(后台定位)
|
void |
setTileProvider(TKMapView.MapType mapType,
TKMapView.ITileProvider iTileProvider)
设置对应地图类型的瓦片提供者
|
void |
setZoomControlsState(float newZoomLevel)
以当前的zoomLevel值,刷新放大缩小按钮的状态
|
void |
setZoomInBackgroundResource(int resId)
设置放大按钮的图标背景
|
void |
setZoomInImageResource(int resId,
int disableResId)
设置放大按钮,以及放大按钮禁用时的图标内容
|
void |
setZoomLevel(int newZoomLevel)
将地图的缩放为指定的缩放级别
|
void |
setZoomOutBackgroundResource(int resId)
设置缩小按钮的图标背景
|
void |
setZoomOutImageResource(int resId,
int disableResId)
设置缩小按钮,以及缩小按钮禁用时的图标内容
|
void |
setZoomPaddingBottom(int zoomPaddingBottom)
设置放大缩小按钮与底部的距离
|
void |
setZoomViewVisibility(int visibility)
设置放大缩小按钮是否显示
|
void |
stopSnap()
停止刷新快照地图
|
void |
zoomIn()
以当前中心点为基准放大地图
|
void |
zoomIn(Latlon latlon)
以指定的中心点为基准,将当前地图放大一级
|
void |
zoomOut()
以当前中心点为基准缩小地图
|
void |
zoomOut(Latlon latlon)
以指定的中心点为基准,将当前地图缩小一级
|
public static TKMapView.ILatlonTransform defaultLatlonTransform
public TKMapView(Context context)
context
- public TKMapView(Context context, AttributeSet attrs)
public Latlon getCityCenterPosition(int cityId)
cityId
- public int getCenterCityId()
public void setZoomViewVisibility(int visibility)
public int getZoomViewVisibility()
public void zoomOut()
public void zoomOut(Latlon latlon)
latlon
- public void zoomIn()
public void zoomIn(Latlon latlon)
latlon
- public int getZoomPaddingBottom()
public void setZoomPaddingBottom(int zoomPaddingBottom)
public void refreshMap()
public void rotateZToDegree(float zRotation)
public void rotateLocationZToDegree(float zRotation)
public void centerOnPosition(Latlon latlon)
latlon
- public Latlon screenXYToLatlon(XYFloat screenXY)
screenXY
- public void centerOnPosition(Latlon latlon, float zoomLevel)
latlon
- zoomLevel
- public void clearMap()
public float getZoomLevel()
public int getFittingZoomLevel(java.util.ArrayList<Latlon> latlons, Latlon centerPosition)
public Latlon getCenterPosition()
public void panToPosition(Latlon latlon)
latlon
- public void panToPosition(Latlon latlon, long duration)
latlon
- duration
- 移动地图时所需持续的时间public void panToPosition(Latlon latlon, long duration, TKMapView.OnMoveListener listener)
position
- duration
- 移动地图时所需持续的时间listener
- 移动完成后执行响应事件public void moveView(float left, float top)
left
- top
- public void pause()
public void resume()
public Rect getPadding()
public void setZoomLevel(int newZoomLevel)
newZoomLevel
- public void setZoomControlsState(float newZoomLevel)
newZoomLevel
- public void addShape(TKShape shape)
shape
- public void addShape(CustomShape shape)
shape
- public void deleteShapeByName(java.lang.String shapeName)
public TKShape getShapeByName(java.lang.String shapeName)
public CustomShape getCustomShapeByName(java.lang.String shapeName)
public void downloadCityMap(Context context, java.lang.String cityName, MapDatDownload.DownloadCallback downloadCallback)
cityName
- public void addOnDrawFrameListener(TKMapView.OnDrawFrameListener listener)
listener
- public void removeAllOnDrawFrameListeners()
public void addOnTouchListener(TKMapView.OnTouchListener listener)
listener
- public void addOnTouchPinListener(TKMapView.OnTouchListener listener)
listener
- public void addOnTouchDownListener(TKMapView.OnTouchListener listener)
listener
- public void removeAllOnTouchListeners()
public void addOnDownloadMapListener(TKMapView.OnDownloadMapListener listener)
listener
- public void removeAllOnDownloadMapListeners()
public void addOnDoubleClickListener(TKMapView.OnDoubleClick listener)
listener
- public void removeAllOnDoubleClickListeners()
public void addOnRotateListener(TKMapView.OnRotateListener listener)
listener
- public void removeAllOnRotateListeners()
public void addOnRotateEndListener(TKMapView.OnRotateEndListener listener)
listener
- public void removeAllOnRotateEndListeners()
public void addOnClickPOIListener(TKMapView.OnClickPOIListener listener)
listener
- public void removeAllOnClickPOIListeners()
public void addOnLongClickListener(TKMapView.OnLongClickListener listener)
listener
- public void removeAllOnLongClickListeners()
public void addOnMultiTouchZoomListener(TKMapView.OnMultiTouchZoomListener listener)
listener
- public void removeAllOnMultiTouchZoomListeners()
public void addOnMoveBeginListener(TKMapView.OnMoveListener listener)
listener
- public void addOnMoveEndListener(TKMapView.OnMoveListener listener)
listener
- public void removeAllOnMoveListeners()
public void changeMapType(TKMapView.MapType mapType)
mapType
- public TKMapView.MapType getMapType()
public boolean positionInScreen(Latlon latlon)
latlon
- public java.lang.String getPOIName(Latlon latlon)
latlon
- public void setStopRefreshMyLocation(boolean isStop)
isStop
- public void setZoomInBackgroundResource(int resId)
resId
- public void setZoomOutBackgroundResource(int resId)
resId
- public void setZoomInImageResource(int resId, int disableResId)
resId
- disableResId
- public void setZoomOutImageResource(int resId, int disableResId)
resId
- disableResId
- public int getTileSize()
public void setTileProvider(TKMapView.MapType mapType, TKMapView.ITileProvider iTileProvider)
mapType
- iTileProvider
- public float getZRotation()
public void requestSnap(Latlon centerPos)
centerPos
- public Bitmap getSnapBitmap()
public void stopSnap()
public void cancelSnap()
public boolean isCancelledSnap()
public void forceRefreshMap()
public InfoWindow getInfoWindow()