效果如下: 这个效果体验很好;测量面积也给出了开源javascript包——BMapLib.DrawingManger

时间:2021-09-29 08:42:00

   比来做了一个百度舆图API的开发项目,里面有丈量距离和丈量面积的成果需求。丈量距离百度给出了封装好的javascript包——BMapLib.DistanceTool,效果如下: 

效果如下: 这个效果体验很好;测量面积也给出了开源javascript包——BMapLib.DrawingManger

这个效果体验很好;丈量面积也给出了开源javascript包——BMapLib.DrawingManger,如下:

效果如下: 这个效果体验很好;测量面积也给出了开源javascript包——BMapLib.DrawingManger

但这个效果和体验就很差了。客户但愿丈量面积能实现和测距一样的效果体验(鼠标在移动绘制过程中实时显示绘制面积,且样式效果要一样),颠末一番折腾,改削了百度测距的javascript包,终于搞定。先上效果图:

效果如下: 这个效果体验很好;测量面积也给出了开源javascript包——BMapLib.DrawingManger

效果如下: 这个效果体验很好;测量面积也给出了开源javascript包——BMapLib.DrawingManger



实现要领:

主要改削了DistanceTool开源包里面的鼠标点击事件distClick和鼠标移动事件distMove这两个要领。

1、通过单击事件distClick获取结构面的path,用到Polygon的setPath要领,然后加到舆图中,并通过计算该Polygon的面积显示最终双击结束后提示框的总面积;

2、通过移动事件distMove获取鼠标移动过程的位置点point,操作Polygon类的setPositionAt要领生成动态的面。这一步需要计算鼠标移动过程中的实时面积,结构一个姑且面polygon,并不需要加到舆图中,在鼠标移动过程中将移动点point加来姑且面path中,计算该Polygon的面积即为姑且面积。

注:计算Polygon的面积给与百度开源库GeoUtils,,BMapLib.GeoUtils.getPolygonArea要领。

如有不同错误之处,欢迎攻讦斧正!

联系方法:QQ:1085634689


 

 

百度舆图API开发一——模仿现有测距实现丈量面积成果