{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671516365937,"data":{"id":71713858,"title":"6.3.4.3多象限点图元","slug":"mn3r8q","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
多象限点图元(QuadrantLayerItem)是继承于点图元的、用于实现多象限碰撞功能的图元。多象限点图元是指创建若干个多象限点图元,这些图元的对象不同、飘向不同,但是内容是相同的。
一个包含若干个多象限点图元的图层,通常都会和其它图层有压盖面积的碰撞关系,通过与其它图层图元计算压盖面积,然后取得一个压盖面积最小(最优)的象限显示出来。启用多象限点图元的碰撞计算需要调用BaseLayer的enableAreaCollision,或者把这个图层放在图层间的碰撞中,这样多象限图元才能只显示一个出来。
比如多备选标签,它有四个象限,和路线、屏幕外、拥堵气泡等有碰撞关系,在碰撞计算完成后,图层内部会调用BaseLayer的updateQuadrantItems函数,从中选一个最优的象限显示出来。
\n/** @brief 象限类型,包含所有可能类型,由业务选择需要的象限类型*/\nenum QuadrantType\n{\n QuadrantTypeNone, /**< 默认值 */\n QuadrantTypeLeft, /**< 左象限 */\n QuadrantTypeRight, /**< 右象限 */\n QuadrantTypeUp, /**< 上象限 */\n QuadrantTypeDown, /**< 下象限 */\n QuadrantTypeRightUp, /**< 右上象限 */\n QuadrantTypeLeftUp, /**< 左上象限 */\n QuadrantTypeLeftDown, /**< 左下象限 */\n QuadrantTypeRightDown, /**< 右下象限 */\n};\n
com.autonavi.gbl.map.layer.impl.QuadrantLayerItem.QuadrantLayerItem(@QuadrantType.QuadrantType1 int quadrantType, long quadrantGroupId)\n\n//在包含多象限图层中,根据图元的多象限压盖面积,更新象限的显隐, 保证有一个象限item显示,其它象限item隐藏。(所有item设置为空闲态)\nvoid com.autonavi.gbl.map.layer.BaseLayer.updateQuadrantItems()\t\n\n//在组合(多象限)碰撞中,设置碰撞是否计算图元压盖面积\nvoid com.autonavi.gbl.map.CollisionGroup.enableAreaCollision\t(\tboolean \tareaCollision\t)\t\n
多象限点图元主要应用在业务图层间碰撞,具体查看这里
","body_lake":null,"pub_level":null,"status":"0","updated_at":"2022-04-06 07:03:58","deleted_at":null,"nameSpace":"mnlcaa/v610","browseCount":58,"collectCount":0,"estimateDate":3,"docStatus":0,"permissions":true,"overView":false}}