AutoSDK  500
Public 成员函数 | 所有成员列表
com.autonavi.gbl.map.layer.observer.IBaseLayer接口 参考

基础图层能力定义,支持外部可扩展 更多...

类 com.autonavi.gbl.map.layer.observer.IBaseLayer 继承关系图:
com.autonavi.gbl.map.observer.ICollisionGroup com.autonavi.gbl.map.observer.ICollisionEntity com.autonavi.gbl.map.layer.BaseLayer com.autonavi.gbl.map.layer.observer.IRoutePathLayer com.autonavi.gbl.map.layer.observer.IVectorCrossLayer com.autonavi.gbl.map.layer.RoutePathLayer com.autonavi.gbl.map.layer.VectorCrossLayer com.autonavi.gbl.map.layer.RoutePathLayer com.autonavi.gbl.map.layer.VectorCrossLayer

Public 成员函数

String getName ()
 获取图层名称 更多...
 
long getLayerID ()
 获取图层ID 更多...
 
LayerItem getItem (String strID)
 通过ID获取某个图元,item必须有设置id 更多...
 
ArrayList< LayerItemgetAllItems ()
 获取图层所有图元 更多...
 
int getCount ()
 获取图元数目 更多...
 
boolean getVisible ()
 返回图层显隐状态 更多...
 
boolean getClickable ()
 返回图层可点击状态 更多...
 
LayerScale getDisplayScale ()
 获取图层显示级别 只有当比例尺在区间[scale.minScale, scale.maxScale]内时,图层才可显示 更多...
 
RectDouble getBound ()
 获取图层全览区域 更多...
 
LayerPriority getPriority ()
 获取图层绘制层级以及显示优先级 更多...
 
void onPaint ()
 图层绘制能力 更多...
 
void updateQuadrantItems ()
 在包含多象限图层中,根据图元的多象限压盖面积,更新象限的显隐, 保证有一个象限item显示,其它象限item隐藏。(所有item设置为空闲态) 更多...
 
void intersectUI (ArrayList< RectDouble > collisionRectUIs)
 计算图元和UI控件压盖面积。 图层需要启用EnableCollision和EnableAreaCollision才会触发该接口。 另外:图层的图元需要是多象限点图元(QuadrantLayerItem)才有意义 更多...
 
void lockItems ()
 锁住碰撞实体内部的Item,保证碰撞的时候Item不会刚好被外部释放 return 无返回值 更多...
 
void unLockItems ()
 解锁碰撞实体内部的Item,保证碰撞后Item能被外部正常释放 return 无返回值 更多...
 
- Public 成员函数 继承自 com.autonavi.gbl.map.observer.ICollisionGroup
void resetNextPair ()
 重置迭代器 更多...
 
boolean testIntersect (ICollisionItem item)
 测试一个item是否会与该实体中的元素存在碰撞 更多...
 
.CollisionType1 int getType ()
 获取碰撞实体类型 return 碰撞实体类型 更多...
 
void caculateCollision ()
 计算Item间的碰撞 return 无返回值 更多...
 
void enableAreaCollision (boolean areaCollision)
 在组合(多象限)碰撞中,设置碰撞是否计算图元压盖面积 更多...
 
boolean isAreaCollision ()
 在组合(多象限)碰撞中,是否是计算压盖面积的碰撞 return true:压盖面积碰撞;false:不压盖面积碰撞 更多...
 

详细描述

基础图层能力定义,支持外部可扩展

碰撞:
1. 如果需要自定义碰撞判断,需要重载Intersect;
2. 图层内碰撞只需调用EnableCollision即可;
3. 图层间碰撞:
IBaseLayer *A, *B;
CollisionCombination *cc = new CollisionCombination;
cc->AddGroup(A);
cc->AddGroup(B);
IMapView *v = A->GetMapView(); // A/B必须绑定同一个IMapView
IOperatorCollision *op = v->GetOperatorCollision();
op->AddEntity(cc);
...
op->RemoveEntity(cc);
delete cc;
...
delete A; // 注意:必须先移除组合对象CollisionCombination,才能删除具体的CollisionGroup
delete B;

成员函数说明

◆ getAllItems()

ArrayList<LayerItem> com.autonavi.gbl.map.layer.observer.IBaseLayer.getAllItems ( )

获取图层所有图元

返回
dice::vector<LayerItem*> 返回图层的所有图元
注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getBound()

RectDouble com.autonavi.gbl.map.layer.observer.IBaseLayer.getBound ( )

获取图层全览区域

返回
dice::Rect<double> 返回值图层可全览的区域
注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getClickable()

boolean com.autonavi.gbl.map.layer.observer.IBaseLayer.getClickable ( )

返回图层可点击状态

返回
bool true:可点击 false:不可点击
注解
thread:multi

com.autonavi.gbl.map.layer.RoutePathLayer, com.autonavi.gbl.map.layer.observer.IRoutePathLayer , 以及 com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getCount()

int com.autonavi.gbl.map.layer.observer.IBaseLayer.getCount ( )

获取图元数目

返回
int32_t 返回图元数目
注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getDisplayScale()

LayerScale com.autonavi.gbl.map.layer.observer.IBaseLayer.getDisplayScale ( )

获取图层显示级别 只有当比例尺在区间[scale.minScale, scale.maxScale]内时,图层才可显示

注解
thread:multi

com.autonavi.gbl.map.layer.RoutePathLayer, com.autonavi.gbl.map.layer.observer.IRoutePathLayer , 以及 com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getItem()

LayerItem com.autonavi.gbl.map.layer.observer.IBaseLayer.getItem ( String  strID)

通过ID获取某个图元,item必须有设置id

返回
LayerItem* 返回具体的图元
注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getLayerID()

long com.autonavi.gbl.map.layer.observer.IBaseLayer.getLayerID ( )

获取图层ID

返回
uint32_t 内部分配的图层唯一ID
注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getName()

String com.autonavi.gbl.map.layer.observer.IBaseLayer.getName ( )

获取图层名称

返回
dice::String16 返回已经创建的图层
注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getPriority()

LayerPriority com.autonavi.gbl.map.layer.observer.IBaseLayer.getPriority ( )

获取图层绘制层级以及显示优先级

注解
thread:multi

com.autonavi.gbl.map.layer.RoutePathLayer, com.autonavi.gbl.map.layer.observer.IRoutePathLayer , 以及 com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ getVisible()

boolean com.autonavi.gbl.map.layer.observer.IBaseLayer.getVisible ( )

返回图层显隐状态

返回
bool true:显示 false:隐藏
注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ intersectUI()

void com.autonavi.gbl.map.layer.observer.IBaseLayer.intersectUI ( ArrayList< RectDouble collisionRectUIs)

计算图元和UI控件压盖面积。 图层需要启用EnableCollision和EnableAreaCollision才会触发该接口。 另外:图层的图元需要是多象限点图元(QuadrantLayerItem)才有意义

参数
[in]collisionRectUIs用于图元计算碰撞压盖面积的UI控件矩形框信息
返回
void

实现了 com.autonavi.gbl.map.observer.ICollisionGroup.

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ lockItems()

void com.autonavi.gbl.map.layer.observer.IBaseLayer.lockItems ( )

锁住碰撞实体内部的Item,保证碰撞的时候Item不会刚好被外部释放 return 无返回值

注解
thread:multi

实现了 com.autonavi.gbl.map.observer.ICollisionGroup.

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ onPaint()

void com.autonavi.gbl.map.layer.observer.IBaseLayer.onPaint ( )

图层绘制能力

注解
thread:multi

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ unLockItems()

void com.autonavi.gbl.map.layer.observer.IBaseLayer.unLockItems ( )

解锁碰撞实体内部的Item,保证碰撞后Item能被外部正常释放 return 无返回值

注解
thread:multi

实现了 com.autonavi.gbl.map.observer.ICollisionGroup.

com.autonavi.gbl.map.layer.BaseLayer 内被实现.

◆ updateQuadrantItems()

void com.autonavi.gbl.map.layer.observer.IBaseLayer.updateQuadrantItems ( )

在包含多象限图层中,根据图元的多象限压盖面积,更新象限的显隐, 保证有一个象限item显示,其它象限item隐藏。(所有item设置为空闲态)

注解
thread:multi

实现了 com.autonavi.gbl.map.observer.ICollisionGroup.

com.autonavi.gbl.map.layer.BaseLayer 内被实现.


该接口的文档由以下文件生成: