您的位置:首页 > 其它

地图中气泡避让的思路

2013-08-25 11:09 176 查看

需求

在地图上指定的位置点处扎个气泡,顶点个数最多三个。 保证气泡互不相交。

实现思路

产品给的需求,需要具体成一系列规则:
图1, 2D下每个位置点的物体坐标系下可以分为四个象限0、1、2、3,每个位置点气泡定义了四个样式: LEFT_TOP = 0,RIGHT_TOP = 1,LEFT_BOTTOM = 2,RIGHT_BOTTOM = 3。
图2,0象限的气泡箭头在右下角,1象限的气泡箭头在左下角,2象限的气泡箭头在右上角,3象限的气泡箭头在左上角。
平面上三个点,通过控制每个点的气泡样式,一定可以实现气泡互不遮挡。四个顶点就不一定了,图4中,0、1、2 点摆放了气泡以后,中间3th点怎么摆放都会跟其他点的气泡相交。这也与一个事实相符: 其他家地图(谷歌,苹果,百度,高德)中 多路线方案中结果都不超过三个。



气泡避让思路
图5,平面上三个点,通过求取包围盒思路,找到最左边的点AA,最右边的点BB,最后剩余一个顶点CC。
AA气泡样式设为 LEFT_TOP,BB样式设为RIGHT_TOP,CC样式设为LEFT_BOTTOM或者RIGHT_BOTTOM即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  气泡 marker 避让