mapbox做画多边形来进行地理位置信息查询

  1. mapbox介绍
  2. mapbox画多边形
  3. 多变形地理位置信息查询的原理
  4. 授人以渔
  5. warning

mapbox介绍

mapbox是一款国外的地图工具,这里介绍的是mapbox gl js api。是在浏览器中显示地图信息。

mapbox画多边形

mapbox画多边形是使用了mapbox-gl-draw这个配套的库,这个库的api在初始化加上defaultMode为simple_select即可。可以禁用自定义控件,自己通过changeMode的方式来自定义控件。这里具体说一下,比如你要画图,你就按自己定义的按钮,调changeMode到画图模式上去,画完会自动回到默认的simple_select模式。

多变形地理位置信息查询的原理

原理上是这样的,在通过mapbox-gl-draw的draw.create事件中能过获取到多边形的点的经纬度,这几个点的排列是能够绕出一块地理区域的,后端可以根据这个来把数据中的经纬度做一个对比,比如,有一种算法可以是获取最大的经度和最小的经度,最大的纬度和最小的纬度,然后在同时这两个范围内的数据返回给前端做展示即可。这个算法的精度还不够精确,这里只是举例。

授人以渔

相信大家看了上面的思路,应该心中有底了吧。

warning

注意,拉框查询可以使用官方的示例,拉框查询就是画矩形,是一比一还原上述算法,拉框查询无需使用mapbox-gl-draw这个库,详见官方示例。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏