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