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()
MapRenderer
MapRenderer
public void start()
MapView
的渲染线程创建完之后使用。public void stop()
public void setRenderInterval(int interval)
interval
- 间隔,单位:mspublic void setListener(OffscreenSurface.Listener listener)
listener
- OffscreenSurface.Listener
public void setViewport(android.graphics.Rect viewport)
viewport
- 绘制区域public android.graphics.Bitmap screenShot()
public void onPause()
public void onResume()
public void onNeedsDisplay()
MapRenderer.Listener
onNeedsDisplay
在接口中 MapRenderer.Listener
public void onAnnotationClicked(Annotation annot, int area)
MapRenderer.Listener
Annotation
时触发的回调MapRenderer.onTouchUp(int, int[], int[], int[])
方法中,在点击Annotation
或其弹出气泡时被调用onAnnotationClicked
在接口中 MapRenderer.Listener
annot
- 被点击的Annotation
area
- 被点击的区域Annotation.Area
,如果area为Annotation.Area.icon
,表示点击的是Annotation
的图标本身Annotation
,
Annotation.Area
public void onAnnotationSelected(Annotation annot)
MapRenderer.Listener
Annotation
被选中时触发的回调MapRenderer.onTouchUp(int, int[], int[], int[])
方法中,当Annotation
的图标被点击,但它的弹出气泡没有想显示的情况下出发此回调。onAnnotationSelected
在接口中 MapRenderer.Listener
annot
- 当前被选中的Annotation
Annotation
public void onAnnotationDeselected(Annotation annot)
MapRenderer.Listener
Annotation
未被选中时触发的回调
此回调实际上运行于MapRenderer.onTouchUp(int, int[], int[], int[])
方法中onAnnotationDeselected
在接口中 MapRenderer.Listener
annot
- 当前取消选中状态的Annotation
Annotation
public void onFocusChanged(int prevFocusedType, int curFocusedType)
MapRenderer.Listener
Annotation
,Overlay
和POI被选中成为焦点时被触发onFocusChanged
在接口中 MapRenderer.Listener
prevFocusedType
- 前一个焦点的类型 MapRenderer.FocusedObjType
curFocusedType
- 当前焦点类型MapRenderer.FocusedObjType
,前后焦点所在的poi,
annotation和overlay可以通过onxxSelected和onxxDeselected获取public void onOverlayClicked(Overlay overlay, int area)
MapRenderer.Listener
onOverlayClicked
在接口中 MapRenderer.Listener
overlay
- 被点击的Overlay
area
- 被点击的区域Annotation.Area
,如果回调的area为Annotation.Area.icon
,表示点击的是Overlay
本身Overlay
,
Annotation.Area
public void onOverlaySelected(Overlay overlay, android.graphics.Point grabbedPoint)
MapRenderer.Listener
onOverlaySelected
在接口中 MapRenderer.Listener
overlay
- 被点击的Overlay
grabbedPoint
- 距离点击点最近的有效点坐标,通常情况下,这个点就是点击点本身,但是对于PolylineOverlay
或者RouteOverlay
可能不是点击点public void onOverlaySelectedNds(Overlay overlay, NdsPoint grabbedPoint)
MapRenderer.Listener
onOverlaySelectedNds
在接口中 MapRenderer.Listener
overlay
- 被点击的Overlay
grabbedPoint
- 距离点击点最近的有效Nds坐标,通常情况下,这个点就是点击点本身,但是对于PolylineOverlay
或者RouteOverlay
可能不是点击点public void onOverlayDeselected(Overlay overlay)
MapRenderer.Listener
onOverlayDeselected
在接口中 MapRenderer.Listener
overlay
- 触发事件的Overlay
public void onPoiSelected(java.lang.String name, android.graphics.Point pos)
MapRenderer.Listener
MapRenderer.onTouchUp(int, int[], int[], int[])
方法中onPoiSelected
在接口中 MapRenderer.Listener
name
- POI名称pos
- POI所在位置经纬度坐标public void onPoiDeselected(java.lang.String name, android.graphics.Point pos)
MapRenderer.Listener
MapRenderer.onTouchUp(int, int[], int[], int[])
方法中onPoiDeselected
在接口中 MapRenderer.Listener
name
- POI名称pos
- POI所在位置经纬度坐标值public void onPoiSelectedNds(java.lang.String name, NdsPoint pos)
MapRenderer.Listener
MapRenderer.onTouchUp(int, int[], int[], int[])
方法中onPoiSelectedNds
在接口中 MapRenderer.Listener
name
- POI名称pos
- POI所在的NDS坐标public void onPoiDeselectedNds(java.lang.String name, NdsPoint pos)
MapRenderer.Listener
MapRenderer.onTouchUp(int, int[], int[], int[])
方法中onPoiDeselectedNds
在接口中 MapRenderer.Listener
name
- POI名称pos
- POI所在位置的NDS坐标值public void onPoiClicked(java.lang.String name, android.graphics.Point pos)
MapRenderer.Listener
MapRenderer.onTouchUp(int, int[], int[], int[])
方法中onPoiClicked
在接口中 MapRenderer.Listener
name
- POI名称pos
- POI所在位置的坐标public void onCameraChanged(int changeType)
MapRenderer.Listener
onCameraChanged
在接口中 MapRenderer.Listener
changeType
- 相机参数改变类型MapRenderer.CameraSetting
MapRenderer.CameraSetting
public void onGestureAnimationEvent(boolean animStarted)
MapRenderer.Listener
onGestureAnimationEvent
在接口中 MapRenderer.Listener
animStarted
- 动画开始时为true,结束时为falsepublic void onCameraAnimationEnded()
MapRenderer.Listener
onCameraAnimationEnded
在接口中 MapRenderer.Listener
public void onTileLoadingFinished()
MapRenderer.Listener
MapRenderer.draw()
中调用的,所以是在绘图线程中被调用onTileLoadingFinished
在接口中 MapRenderer.Listener
public void onLayerTilesLoaded(int[] layerTypes)
MapRenderer.Listener
MapRenderer.draw()
中调用的,所以是在绘图线程中被调用onLayerTilesLoaded
在接口中 MapRenderer.Listener
layerTypes
- 已经加载完成的图层瓦片对象 count,加载完成的图层瓦片数量public void onLayerTilesReadyForDraw(int[] layerTypes)
MapRenderer.Listener
MapRenderer.monitorDataReadiness()
,当前比例尺下所有格子的某一图层数据准备好时触发,所有图层数据准备好时结束。onLayerTilesReadyForDraw
在接口中 MapRenderer.Listener
layerTypes
- 数据准备好的图层LayerType
public void onOnlineDataVersionChecked(boolean upgraded)
MapRenderer.Listener
onOnlineDataVersionChecked
在接口中 MapRenderer.Listener
upgraded
- 是否升级,如果升级则返回true,否则返回falsepublic void onUserRasterDataUpdated(int fromSource)
MapRenderer.Listener
MapRenderer#setDataPreference(int)
和MapRenderer#setDataUrlPrefix(int, String)
时触发,说明读取栅格数据时的数据来源onUserRasterDataUpdated
在接口中 MapRenderer.Listener
fromSource
- 数据来源DataPreference
©Mapbar Engine Team;All Rights Reserved