public class OffscreenSurface extends java.lang.Object implements MapRenderer.Listener
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
OffscreenSurface.Listener
事件监听
|
| 构造器和说明 |
|---|
OffscreenSurface(int width,
int height,
MapRenderer mapRenderer)
构造方法,需要指定后台渲染表面的宽高
|
| 限定符和类型 | 方法和说明 |
|---|---|
MapRenderer |
getMapRenderer()
获取地图渲染器
MapRenderer |
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 |
onPause()
暂停后台渲染
|
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 |
onResume()
恢复后台渲染
|
void |
onTileLoadingFinished()
地图分块数据加载完毕时触发,如,基础地图数据和TMC底图数据
此方法是在 MapRenderer.draw()中调用的,所以是在绘图线程中被调用 |
void |
onUserRasterDataUpdated(int fromSource)
用户栅格数据更新,调用
MapRenderer#setDataPreference(int)和MapRenderer#setDataUrlPrefix(int, String)
时触发,说明读取栅格数据时的数据来源 |
android.graphics.Bitmap |
screenShot()
|
void |
setListener(OffscreenSurface.Listener listener)
设置监听
|
void |
setRenderInterval(int interval)
设置帧之间的等待间隔
|
void |
setViewport(android.graphics.Rect viewport)
设置地图渲染器的绘制区域
|
void |
start()
初始化后台渲染环境,并开始绘制。
|
void |
stop()
结束渲染
|
public OffscreenSurface(int width,
int height,
MapRenderer mapRenderer)
width - 宽height - 高mapRenderer - 渲染器public MapRenderer getMapRenderer()
MapRendererMapRendererpublic void start()
MapView的渲染线程创建完之后使用。public void stop()
public void setRenderInterval(int interval)
interval - 间隔,单位:mspublic void setListener(OffscreenSurface.Listener listener)
listener - OffscreenSurface.Listenerpublic void setViewport(android.graphics.Rect viewport)
viewport - 绘制区域public android.graphics.Bitmap screenShot()
public void onPause()
public void onResume()
public void onNeedsDisplay()
MapRenderer.ListeneronNeedsDisplay 在接口中 MapRenderer.Listenerpublic void onAnnotationClicked(Annotation annot, int area)
MapRenderer.ListenerAnnotation时触发的回调MapRenderer.onTouchUp(int, int[], int[], int[])方法中,在点击Annotation或其弹出气泡时被调用onAnnotationClicked 在接口中 MapRenderer.Listenerannot - 被点击的Annotationarea - 被点击的区域Annotation.Area,如果area为Annotation.Area.icon,表示点击的是Annotation的图标本身Annotation,
Annotation.Areapublic void onAnnotationSelected(Annotation annot)
MapRenderer.ListenerAnnotation被选中时触发的回调MapRenderer.onTouchUp(int, int[], int[], int[])方法中,当Annotation的图标被点击,但它的弹出气泡没有想显示的情况下出发此回调。onAnnotationSelected 在接口中 MapRenderer.Listenerannot - 当前被选中的AnnotationAnnotationpublic void onAnnotationDeselected(Annotation annot)
MapRenderer.ListenerAnnotation未被选中时触发的回调
此回调实际上运行于MapRenderer.onTouchUp(int, int[], int[], int[])方法中onAnnotationDeselected 在接口中 MapRenderer.Listenerannot - 当前取消选中状态的AnnotationAnnotationpublic void onFocusChanged(int prevFocusedType,
int curFocusedType)
MapRenderer.ListenerAnnotation,Overlay和POI被选中成为焦点时被触发onFocusChanged 在接口中 MapRenderer.ListenerprevFocusedType - 前一个焦点的类型 MapRenderer.FocusedObjTypecurFocusedType - 当前焦点类型MapRenderer.FocusedObjType,前后焦点所在的poi,
annotation和overlay可以通过onxxSelected和onxxDeselected获取public void onOverlayClicked(Overlay overlay, int area)
MapRenderer.ListeneronOverlayClicked 在接口中 MapRenderer.Listeneroverlay - 被点击的Overlayarea - 被点击的区域Annotation.Area,如果回调的area为Annotation.Area.icon,表示点击的是Overlay本身Overlay,
Annotation.Areapublic void onOverlaySelected(Overlay overlay, android.graphics.Point grabbedPoint)
MapRenderer.ListeneronOverlaySelected 在接口中 MapRenderer.Listeneroverlay - 被点击的OverlaygrabbedPoint - 距离点击点最近的有效点坐标,通常情况下,这个点就是点击点本身,但是对于PolylineOverlay或者RouteOverlay可能不是点击点public void onOverlaySelectedNds(Overlay overlay, NdsPoint grabbedPoint)
MapRenderer.ListeneronOverlaySelectedNds 在接口中 MapRenderer.Listeneroverlay - 被点击的OverlaygrabbedPoint - 距离点击点最近的有效Nds坐标,通常情况下,这个点就是点击点本身,但是对于PolylineOverlay或者RouteOverlay可能不是点击点public void onOverlayDeselected(Overlay overlay)
MapRenderer.ListeneronOverlayDeselected 在接口中 MapRenderer.Listeneroverlay - 触发事件的Overlaypublic void onPoiSelected(java.lang.String name,
android.graphics.Point pos)
MapRenderer.ListenerMapRenderer.onTouchUp(int, int[], int[], int[])方法中onPoiSelected 在接口中 MapRenderer.Listenername - POI名称pos - POI所在位置经纬度坐标public void onPoiDeselected(java.lang.String name,
android.graphics.Point pos)
MapRenderer.ListenerMapRenderer.onTouchUp(int, int[], int[], int[])方法中onPoiDeselected 在接口中 MapRenderer.Listenername - POI名称pos - POI所在位置经纬度坐标值public void onPoiSelectedNds(java.lang.String name,
NdsPoint pos)
MapRenderer.ListenerMapRenderer.onTouchUp(int, int[], int[], int[])方法中onPoiSelectedNds 在接口中 MapRenderer.Listenername - POI名称pos - POI所在的NDS坐标public void onPoiDeselectedNds(java.lang.String name,
NdsPoint pos)
MapRenderer.ListenerMapRenderer.onTouchUp(int, int[], int[], int[])方法中onPoiDeselectedNds 在接口中 MapRenderer.Listenername - POI名称pos - POI所在位置的NDS坐标值public void onPoiClicked(java.lang.String name,
android.graphics.Point pos)
MapRenderer.ListenerMapRenderer.onTouchUp(int, int[], int[], int[])方法中onPoiClicked 在接口中 MapRenderer.Listenername - POI名称pos - POI所在位置的坐标public void onCameraChanged(int changeType)
MapRenderer.ListeneronCameraChanged 在接口中 MapRenderer.ListenerchangeType - 相机参数改变类型MapRenderer.CameraSettingMapRenderer.CameraSettingpublic void onGestureAnimationEvent(boolean animStarted)
MapRenderer.ListeneronGestureAnimationEvent 在接口中 MapRenderer.ListeneranimStarted - 动画开始时为true,结束时为falsepublic void onCameraAnimationEnded()
MapRenderer.ListeneronCameraAnimationEnded 在接口中 MapRenderer.Listenerpublic void onTileLoadingFinished()
MapRenderer.ListenerMapRenderer.draw()中调用的,所以是在绘图线程中被调用onTileLoadingFinished 在接口中 MapRenderer.Listenerpublic void onLayerTilesLoaded(int[] layerTypes)
MapRenderer.ListenerMapRenderer.draw()中调用的,所以是在绘图线程中被调用onLayerTilesLoaded 在接口中 MapRenderer.ListenerlayerTypes - 已经加载完成的图层瓦片对象 count,加载完成的图层瓦片数量public void onLayerTilesReadyForDraw(int[] layerTypes)
MapRenderer.ListenerMapRenderer.monitorDataReadiness()
,当前比例尺下所有格子的某一图层数据准备好时触发,所有图层数据准备好时结束。onLayerTilesReadyForDraw 在接口中 MapRenderer.ListenerlayerTypes - 数据准备好的图层LayerTypepublic void onOnlineDataVersionChecked(boolean upgraded)
MapRenderer.ListeneronOnlineDataVersionChecked 在接口中 MapRenderer.Listenerupgraded - 是否升级,如果升级则返回true,否则返回falsepublic void onUserRasterDataUpdated(int fromSource)
MapRenderer.ListenerMapRenderer#setDataPreference(int)和MapRenderer#setDataUrlPrefix(int, String)
时触发,说明读取栅格数据时的数据来源onUserRasterDataUpdated 在接口中 MapRenderer.ListenerfromSource - 数据来源DataPreference©Mapbar Engine Team;All Rights Reserved