解决高德地图和百度地图的polygon方法画出来的效果不一致问题

时间:2024-03-15 11:05:02

接口调过来一组路线的数据,接下去根据这个路线画图,

百度地图画的效果

百度隐藏路径效果图:
解决高德地图和百度地图的polygon方法画出来的效果不一致问题
百度显示路径效果图:
解决高德地图和百度地图的polygon方法画出来的效果不一致问题
百度地图画出来的效果是对的,是我想要的效果;

高德地图画出来的效果

高德隐藏路径效果图:
解决高德地图和百度地图的polygon方法画出来的效果不一致问题
高德显示路径效果图:
解决高德地图和百度地图的polygon方法画出来的效果不一致问题发现同样的一组数据, 在高德和百度地图上,都用他们的自带的polygon方法,画出来的效果分别是不一样的;但是画图的路径都是一样的,很是奇怪。难道高德和百度的画多边形覆盖物的原理不一样?然后我就想canvas画出来的效果又会是怎样?

canvas画出来的效果

canvas隐藏路径效果图:
解决高德地图和百度地图的polygon方法画出来的效果不一致问题
canvas显示路径效果图:
解决高德地图和百度地图的polygon方法画出来的效果不一致问题
这个时候发现,和高德地图画出来的效果是一模一样的;对这一串路径很是疑惑的时候,我就试着自己用canvas画一个图,都是先画外层再扣掉内层

外层和内层同方向

从大图左上角的点出发,数字代表画图的顺序
解决高德地图和百度地图的polygon方法画出来的效果不一致问题
这个效果验证了高德地图和canvas的效果,里面的小图没有被抠掉。

外层和内层反方向

从大图左上角的点出发,数字代表画图的顺序,外层顺时针,内层逆时针画
解决高德地图和百度地图的polygon方法画出来的效果不一致问题
发现是我想要的效果,初步断定,应该是画的路径问题。
后来路径按照外层顺时针,内层抠掉的部分逆时针画,确实达到了想要的效果;这个数据放到百度地图上发现也是能达到这样的效果的。
发现百度地图的polygon方法的对于数据的要求低些,高德地图的polygon方法对于数据的要求严谨些,这是为什么呢?是不是百度地图的api里面对数据已经做过处理了呢??有木有小伙伴解答下呢?