仿照现成测距效果达成测面成效

  
近来做了一个百度地图API的支出项目,里面有度量相差和衡量面积的效能供给。测量相差百度交付了打包好的javascript包——BMapLib.DistanceTool,效果如下: 

图片 1

那个效能体验很好;度量面积也交给了开源javascript包——BMapLib.DrawingManger,如下:

 图片 2

但那一个职能和经验就很差了。客户愿意衡量面积能促成和测距一样的效率体验(鼠标在运动绘制进度中实时显示绘制面积,且样式效果要平等),经过一番煎熬,修改了百度测距的javascript包,终于解决。先上效果图:

图片 3图片 4

落到实处际景况势:

最首要修改了DistanceTool开源包里面包车型地铁鼠标点击事件distClick和鼠标移动事件distMove那七个形式。

1、通过单击事件distClick获取构造面包车型大巴path,用到Polygon的setPath方法,然后加到地图中,并由此估测计算该Polygon的面积显示最后双击截止后提醒框的总面积;

2、通过运动事件distMove获取鼠标移动进度的位置点point,利用Polygon类的setPositionAt方法生成动态的面。这一步需求总计鼠标移动进度中的实时面积,构造叁个有时面polygon,并不须求加到地图中,在鼠标移动进程中校移动点point加到一时面path中,总计该Polygon的面积即为有时面积。

注:总结Polygon的面积选择百度开源库吉优Utils,BMapLib.吉优Utils.getPolygonArea方法。

如有不对之处,应接讨论指正!

联系格局:QQ:1085634689

 

 

 

 

 

 

 

 

* *