解决⾼德地图和百度地图的polygon⽅法画出来的效果不⼀致问题解决⾼德地图和百度地图的polygon画出来的效果不⼀致问题
接⼝调过来⼀组路线的数据,接下去根据这个路线画图,
百度地图画的效果
百度隐藏路径效果图:
百度显⽰路径效果图:
百度地图画出来的效果是对的,是我想要的效果;
⾼德地图画出来的效果
⾼德隐藏路径效果图:
⾼德显⽰路径效果图:
发现同样的⼀组数据, 在⾼德和百度地图上,都⽤他们的⾃带的polygon⽅法,画出来的效果分别是不⼀样的;但是画图的路径都是⼀样的,很是奇怪。难道⾼德和百度的画多边形覆盖物的原理不⼀样?然后我就想canvas画出来的效果⼜会是怎样?
canvas画出来的效果
canvas隐藏路径效果图:
canvas隐藏路径效果图:
canvas显⽰路径效果图:
这个时候发现,和⾼德地图画出来的效果是⼀模⼀样的;对这⼀串路径很是疑惑的时候,我就试着⾃⼰⽤canvas画⼀个图,都是先画外层再扣掉内层
外层和内层同⽅向
从⼤图左上⾓的点出发,数字代表画图的顺序
这个效果验证了⾼德地图和canvas的效果,⾥⾯的⼩图没有被抠掉。svg和canvas的区别
外层和内层反⽅向
从⼤图左上⾓的点出发,数字代表画图的顺序,外层顺时针,内层逆时针画
发现是我想要的效果,初步断定,应该是画的路径问题。
后来路径按照外层顺时针,内层抠掉的部分逆时针画,确实达到了想要的效果;这个数据放到百度地图上发现也是能达到这样的效果的。发现百度地图的polygon⽅法的对于数据的要求低些,⾼德地图的polygon⽅法对于数据的要求严谨些,这是为什么呢?是不是百度地图的api⾥⾯对数据已经做过处理了呢??有⽊有⼩伙伴解答下呢?