public static interface MapRenderer.Listener
onTileLoadingFinished()及
onLayerTilesLoaded(int[])()
在绘图线程中回调, onCameraChanged(int)
可在主线程或绘图线程(某一时刻只能在一个线程)中回调外,其他回调均运行在在主线程中,可以用于更新UI | 限定符和类型 | 方法和说明 |
|---|---|
void |
onAnnotationClicked(Annotation annot,
int area)
点击
Annotation时触发的回调此回调实际上运行于 MapRenderer.onTouchUp(int, int[], int[], int[])方法中,在点击Annotation或其弹出气泡时被调用 |
void |
onAnnotationDeselected(Annotation annot)
当
Annotation未被选中时触发的回调
此回调实际上运行于MapRenderer.onTouchUp(int, int[], int[], int[])方法中 |
void |
onAnnotationSelected(Annotation annot)
当
Annotation被选中时触发的回调此回调实际上运行于 MapRenderer.onTouchUp(int, int[], int[], int[])方法中,当Annotation的图标被点击,但它的弹出气泡没有想显示的情况下出发此回调。 |
void |
onCameraAnimationEnded()
摄像机变换动画结束后的回调函数
|
void |
onCameraChanged(int changeType)
相机状态发生改变时触发的回调
|
void |
onFocusChanged(int prevFocusedType,
int curFocusedType)
新的
Annotation,Overlay和POI被选中成为焦点时被触发 |
void |
onGestureAnimationEvent(boolean animStarted)
手势动画开始和结束时的回调
|
void |
onLayerTilesLoaded(int[] layerTypes)
在新的镜头视角下,至少一块地图分块数据加载完毕时触发,如,基础地图数据和TMC底图数据
此方法是在 MapRenderer.draw()中调用的,所以是在绘图线程中被调用 |
void |
onLayerTilesReadyForDraw(int[] layerTypes)
监测状态中
MapRenderer.monitorDataReadiness()
,当前比例尺下所有格子的某一图层数据准备好时触发,所有图层数据准备好时结束。 |
void |
onNeedsDisplay()
刷新回调,每次刷新时都会回调此函数
无特殊情况,不应在此函数中添加处理逻辑,会影响刷新速度 |
void |
onOnlineDataVersionChecked(boolean upgraded)
在线地图数据版本升级检测回调
|
void |
onOverlayClicked(Overlay overlay,
int area)
|
void |
onOverlayDeselected(Overlay overlay)
|
void |
onOverlaySelected(Overlay overlay,
android.graphics.Point grabbedPoint)
|
void |
onOverlaySelectedNds(Overlay overlay,
NdsPoint grabbedPoint)
|
void |
onPoiClicked(java.lang.String name,
android.graphics.Point pos)
点击POI时触发的回调
此回调实际上运行于 MapRenderer.onTouchUp(int, int[], int[], int[])方法中 |
void |
onPoiDeselected(java.lang.String name,
android.graphics.Point pos)
反选POI时触发的回调
此回调实际上运行于 MapRenderer.onTouchUp(int, int[], int[], int[])方法中 |
void |
onPoiDeselectedNds(java.lang.String name,
NdsPoint pos)
反选POI时触发的回调
此回调实际上运行于 MapRenderer.onTouchUp(int, int[], int[], int[])方法中 |
void |
onPoiSelected(java.lang.String name,
android.graphics.Point pos)
选中POI时触发的回调
此回调实际上运行于 MapRenderer.onTouchUp(int, int[], int[], int[])方法中 |
void |
onPoiSelectedNds(java.lang.String name,
NdsPoint pos)
选中POI时触发的回调
此回调实际上运行于 MapRenderer.onTouchUp(int, int[], int[], int[])方法中 |
void |
onTileLoadingFinished()
地图分块数据加载完毕时触发,如,基础地图数据和TMC底图数据
此方法是在 MapRenderer.draw()中调用的,所以是在绘图线程中被调用 |
void |
onUserRasterDataUpdated(int fromSource)
用户栅格数据更新,调用
MapRenderer#setDataPreference(int)和MapRenderer#setDataUrlPrefix(int, String)
时触发,说明读取栅格数据时的数据来源 |
void onNeedsDisplay()
void onAnnotationClicked(Annotation annot, int area)
Annotation时触发的回调MapRenderer.onTouchUp(int, int[], int[], int[])方法中,在点击Annotation或其弹出气泡时被调用annot - 被点击的Annotationarea - 被点击的区域Annotation.Area,如果area为Annotation.Area.icon,表示点击的是Annotation的图标本身Annotation,
Annotation.Areavoid onAnnotationSelected(Annotation annot)
Annotation被选中时触发的回调MapRenderer.onTouchUp(int, int[], int[], int[])方法中,当Annotation的图标被点击,但它的弹出气泡没有想显示的情况下出发此回调。annot - 当前被选中的AnnotationAnnotationvoid onAnnotationDeselected(Annotation annot)
Annotation未被选中时触发的回调
此回调实际上运行于MapRenderer.onTouchUp(int, int[], int[], int[])方法中annot - 当前取消选中状态的AnnotationAnnotationvoid onFocusChanged(int prevFocusedType,
int curFocusedType)
Annotation,Overlay和POI被选中成为焦点时被触发prevFocusedType - 前一个焦点的类型 MapRenderer.FocusedObjTypecurFocusedType - 当前焦点类型MapRenderer.FocusedObjType,前后焦点所在的poi,
annotation和overlay可以通过onxxSelected和onxxDeselected获取void onOverlayClicked(Overlay overlay, int area)
overlay - 被点击的Overlayarea - 被点击的区域Annotation.Area,如果回调的area为Annotation.Area.icon,表示点击的是Overlay本身Overlay,
Annotation.Areavoid onOverlaySelected(Overlay overlay, android.graphics.Point grabbedPoint)
overlay - 被点击的OverlaygrabbedPoint - 距离点击点最近的有效点坐标,通常情况下,这个点就是点击点本身,但是对于PolylineOverlay或者RouteOverlay可能不是点击点void onOverlaySelectedNds(Overlay overlay, NdsPoint grabbedPoint)
overlay - 被点击的OverlaygrabbedPoint - 距离点击点最近的有效Nds坐标,通常情况下,这个点就是点击点本身,但是对于PolylineOverlay或者RouteOverlay可能不是点击点void onPoiSelected(java.lang.String name,
android.graphics.Point pos)
MapRenderer.onTouchUp(int, int[], int[], int[])方法中name - POI名称pos - POI所在位置经纬度坐标void onPoiDeselected(java.lang.String name,
android.graphics.Point pos)
MapRenderer.onTouchUp(int, int[], int[], int[])方法中name - POI名称pos - POI所在位置经纬度坐标值void onPoiSelectedNds(java.lang.String name,
NdsPoint pos)
MapRenderer.onTouchUp(int, int[], int[], int[])方法中name - POI名称pos - POI所在的NDS坐标void onPoiDeselectedNds(java.lang.String name,
NdsPoint pos)
MapRenderer.onTouchUp(int, int[], int[], int[])方法中name - POI名称pos - POI所在位置的NDS坐标值void onPoiClicked(java.lang.String name,
android.graphics.Point pos)
MapRenderer.onTouchUp(int, int[], int[], int[])方法中name - POI名称pos - POI所在位置的坐标void onCameraChanged(int changeType)
changeType - 相机参数改变类型MapRenderer.CameraSettingMapRenderer.CameraSettingvoid onGestureAnimationEvent(boolean animStarted)
animStarted - 动画开始时为true,结束时为falsevoid onCameraAnimationEnded()
void onTileLoadingFinished()
MapRenderer.draw()中调用的,所以是在绘图线程中被调用void onLayerTilesLoaded(int[] layerTypes)
MapRenderer.draw()中调用的,所以是在绘图线程中被调用layerTypes - 已经加载完成的图层瓦片对象 count,加载完成的图层瓦片数量void onLayerTilesReadyForDraw(int[] layerTypes)
MapRenderer.monitorDataReadiness()
,当前比例尺下所有格子的某一图层数据准备好时触发,所有图层数据准备好时结束。layerTypes - 数据准备好的图层LayerTypevoid onOnlineDataVersionChecked(boolean upgraded)
upgraded - 是否升级,如果升级则返回true,否则返回falsevoid onUserRasterDataUpdated(int fromSource)
MapRenderer#setDataPreference(int)和MapRenderer#setDataUrlPrefix(int, String)
时触发,说明读取栅格数据时的数据来源fromSource - 数据来源DataPreference©Mapbar Engine Team;All Rights Reserved