首页 > 其他分享 >mapbox-gl实战教程:地图定位

mapbox-gl实战教程:地图定位

时间:2023-04-16 18:32:31浏览次数:43  
标签:定位 教程 地图 坐标 mapbox gl 数据

在地图开发中,定位是进行的比较多的操作,根据操作,定位到地图上一个位置,定位到地图上的一个区域,或是定位到一条路上等等。 下边以实际的代码操作,讲一下mapbox-gl如何进行定位的操作。 1、点数据定位:

对于点数据的定位,mapbox-gl提供了两个实现方式,一个跳转(jumpTo)到位置,一个飞到(flyTo)指定位置,区别在于中间的效果,飞到有一个从当前点到终点的飞行动画效果,另外还有easeTo的方式,可以查看api文档。

//跳转代码
map.jumpTo({
center: [0, 0],
zoom: 8,
pitch: 45,
bearing: 90
});
//飞到代码
map.flyTo({
center: [0, 0],
zoom: 9,
speed: 0.2,
curve: 1,
easing(t) {
return t;
}
});

center是必须设置的,定位的地图中心点坐标; zoom是缩放级别,不设置的话,就按照当前缩放级别定位; 其他的参数不是必须的,参照api文档设置即可。 2、线数据定位:

线数据定位,要是定位到线数据的一个点上,和上边点数据定位是一样的操作,如想定位到线数据的范围,就需要用到mapbox-gl的另一个api进行操作,具体的方法如下:

const bbox = [[-79, 43], [-73, 45]];
map.fitBounds(bbox, {
    padding: {top: 10, bottom:25, left: 15, right: 5}
});

其中的bbox是范围,可以循环数据获得左下角的坐标和右上角的坐标,或者使用turf.js进行获取;padding是范围在显示窗口上的4个像素距离,这个对于地图窗口周边有覆盖元素,调整起来很有用。 3、面数据定位:

面数据定位,定位到面的中心点或者面的范围,定位点的方式和以上一样,定位范围参见线范围定位的。

面的中心点可以使用turf.js库进行计算,范围计算可以遍历坐标进行最大最小坐标判断,或者使用turf.js库进行计算。

3DTiles三维管线数据生产工具试用版-https://mp.weixin.qq.com/s?__biz=MzU2ODYzNzc4OQ==&mid=2247487391&idx=1&sn=a49ad027b4de2c8ce6e5bec051801342&chksm=fc8bafadcbfc26bb5abc160d0dbfeef94134cc21900c752ca209d49393cf69325573be9ba4ec&scene=21#wechat_redirect

标签:定位,教程,地图,坐标,mapbox,gl,数据
From: https://blog.51cto.com/speciallist/6193506

相关文章

  • Air724UG开发板串口教程
    1、前言这块板子是毕业设计老师替选的,出自合宙。使用Lua5.1,包含部分外部lib包。缺点:官方宣传的Luat合宙全系列通用,在Air724ug上是无法使用的该开发板使用Lua5.1,缺少了较多常用的Api,需要外部lib补充,往往也很难查询开发板型号多种多样,官方教程使用开发板往往和你的不同......
  • 博客园SimpleMemory美化搬运工教程
    这不是我写的代码,但是,我是负责把写代码的大佬的代码分享出来。接下来,就开始吧。1.开通博客权限。点击左上角头像,然后点击左上角我的博客,如果你没有开通博客,它会让你开通,这个你只需要申请,因为是人工审核,耐心等几十分钟至几小时不等就可以被批准,开通理由随便写点正当的什么......
  • PS新手教程-如何使用PS给人物照片牙齿美白
    如何使用PS给人物照片牙齿美白?给大家介绍如何使用PS给人物照片牙齿美白,一起来看看吧。1.打开PS,导入图片,复制图层,如下图2.选择可选颜色,调整黄色。3.调整白色4.将蒙板填充为黑色,如下图5.选择画笔,如下(你也可以根据自己的需要,调整参数)6.使用白色画笔,在牙齿出涂抹,如下图完成:以上就是如何......
  • Android入门教程_废弃
    没意思,不想写了... 目录一,Android介绍Android概述什么是AndroidAndroid开发优势Android的特性可以开发什么appAndroid手机安装包apkAndroid架构https://www.runoob.com/android/android-architecture.html学习安卓需要具备哪些知识(PS+UI(优秀软件:墨刀-万兴科技......
  • googleTest demo
    googletest的目录在的官方目录在https://github.com/google/googletest.git。作为用户,googleTest的库可以认为提供了两个东西:各种宏,如TEST,TEST_F,通过#include"gtest/gtest.h",即可使用。gtest_main的库libgtest_main.a,即提供了一个主函数,可以和一个测试套的“容器”。静态库......
  • 讲一下dns过程:给一个网址www.google.com,dns服务器如何逐级解析的?
    DNS中的域名都是用句点来分隔的,比如www.server.com,这里的句点代表了不同层次之间的界限。在域名中,越靠右的位置表示其层级越高。域名最后还有一个点,比如www.server.com.,这个最后的一个点代表根域名。根DNS服务器.顶级域名服务器.com权威DNS服务器server.com根域名DNS服务器......
  • SQLyog Ultimate软件安装教程
    目录一、软件介绍二、软件下载三、软件安装 (1)首先下载云盘中的SQLyog-12.0.8-0.x64.exe (2)双击执行SQLyog-12.0.8-0.x64.exe文件,点击OK (3)选择下一步 (4)勾选协议,然后选择下一步 (5)更换软件安装位置,默认是安装到C盘的,建议安装到其它磁盘。  (6)等待安装完成 (7)选择UI(用户界面)语言......
  • Google Earth Engine (GEE) ——矢量转栅格初学者最易犯的错误
    我们都知道有时候我们需要对矢量和栅格进行转化,这样做的目的就是为了方便我们影像统一操作或者其它处理。这里我们会用到GEE中的一个矢量转换栅格的函数,通过这个函数我们可以快速的将矢量转化未栅格,但是这里需要注意的是我们需要查看我们的矢量集合是否会有很多细节,也就是节点比较......
  • 七彩RGB可控模块教程
    一、硬件介绍七彩RGB可控模块,是个LED灯。但是它有三种颜色,分别为红、绿、蓝。该模块有四个接口,分别是Gnd、R、G、B。 二、控制原理通过PWM来控制LED灯的亮度,除此之外R、G、B、三个口要接三个不同的GPIO口。其实你也将RGB可控模块理解为三个不同颜色的LED灯。 三、......
  • 周立功arm linux教程,极速搭建周立功IMX287A ARM Linux开发环境
    原文:https://blog.csdn.net/weixin_35399228/article/details/116750301刚买了一套开发板,准备以后调试项目用,并且熟悉飞思卡尔这个平台。众所周知,周立功提供的资料是非常详细的,但难免存在疏漏的地方,在此,记录我玩这套IMX287A开发板的流程,由于有经验,所以搭建起来非常快,基本上半个......