【MAPBOX基础功能】25、mapbox地图基础工具 - 缩放

前言

官网指引,生成accesstoken,下载相关依赖请翻阅[https://blog.csdn.net/weixin_44402694/article/details/125414381?spm=1001.2014.3001.5501](https://blog.csdn.net/weixin_44402694/article/details/125414381?spm=1001.2014.3001.5501)
本文使用官网accesstoken,请自行生成私人token
mapbox地图基础工具 - 缩放

效果

在这里插入图片描述

代码实现

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>25、地图工具 - 缩放</title>
    <link
      href="https://api.mapbox.com/mapbox-gl-js/v2.7.0/mapbox-gl.css"
      rel="stylesheet"
    />
    <script src="https://api.mapbox.com/mapbox-gl-js/v2.7.0/mapbox-gl.js"></script>
    <style>
      * {
        padding: 0;
        margin: 0;
        list-style: none;
        text-decoration: none;
      }
      html,
      body {
        width: 100%;
        height: 100%;
      }
      #map {
        width: 100%;
        height: 100%;
      }
      .btn-list {
        position: fixed;
        top: 100px;
        left: 100px;
      }
      button {
        width: 50px;
        height: 50px;
        font-size: 30px;
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <ul class="btn-list">
      <li onclick="zoom('in')"><button>+</button></li>
      <li onclick="zoom('out')"><button>-</button></li>
    </ul>
    <script>
      mapboxgl.accessToken =
        'pk.eyJ1Ijoid2FuZ3Rvbmd4dWUiLCJhIjoiY2pzY3E2M2k0MDk3NzN5dDA0Nmtia2h0cCJ9.oP9fEJxOgVzm0dWGvL6tGg'
      const map = new mapboxgl.Map({
        container: 'map', // 容器 id
        style: 'mapbox://styles/mapbox/streets-v11', // mapbox底图
        center: [108, 35], // 初始化中心点
        zoom: 2, // 初始化层级
      })
      // 缩放
      function zoom(type) {
        let zoom = map.getZoom()
        const center = map.getCenter()
        if (type === 'in') {
          // 点击+
          zoom += 1
        } else {
          zoom -= 1
        }
        map.flyTo({ center, zoom })
      }
    </script>
  </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Mapbox GL JS实现定位打点功能,你需要遵循以下步骤: 1. 创建一个具有定位权限的地图: ```javascript mapboxgl.accessToken = 'YOUR_ACCESS_TOKEN'; var map = new mapboxgl.Map({ container: 'map', style: 'mapbox://styles/mapbox/streets-v11', center: [lng, lat], // 设置地图中心点经纬度 zoom: 12 // 设置地图缩放级别 }); // 获取地理位置信息并更新地图中心点 navigator.geolocation.getCurrentPosition(function(position) { var lng = position.coords.longitude; var lat = position.coords.latitude; map.setCenter([lng, lat]); }); ``` 2. 添加定位点: ```javascript var el = document.createElement('div'); el.className = 'marker'; // 创建一个Marker对象并添加到地图中 new mapboxgl.Marker(el) .setLngLat([lng, lat]) .addTo(map); ``` 3. 样式化定位点: ```css .marker { background-image: url('https://docs.mapbox.com/help/demos/custom-markers-gl-js/mapbox-icon.png'); background-size: cover; width: 50px; height: 50px; border-radius: 50%; cursor: pointer; } ``` 4. 完整代码示例: ```html <!DOCTYPE html> <html> <head> <meta charset='utf-8' /> <title>Mapbox GL JS - Add geolocate control</title> <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' /> <script src='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.js'></script> <link href='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.css' rel='stylesheet' /> <style> body { margin: 0; padding: 0; } #map { position: absolute; top: 0; bottom: 0; width: 100%; } .marker { background-image: url('https://docs.mapbox.com/help/demos/custom-markers-gl-js/mapbox-icon.png'); background-size: cover; width: 50px; height: 50px; border-radius: 50%; cursor: pointer; } </style> </head> <body> <div id='map'></div> <script> mapboxgl.accessToken = 'YOUR_ACCESS_TOKEN'; var map = new mapboxgl.Map({ container: 'map', style: 'mapbox://styles/mapbox/streets-v11', center: [0, 0], // 设置地图中心点经纬度 zoom: 12 // 设置地图缩放级别 }); // 获取地理位置信息并更新地图中心点 navigator.geolocation.getCurrentPosition(function(position) { var lng = position.coords.longitude; var lat = position.coords.latitude; map.setCenter([lng, lat]); // 创建定位点 var el = document.createElement('div'); el.className = 'marker'; new mapboxgl.Marker(el) .setLngLat([lng, lat]) .addTo(map); }); </script> </body> </html> ``` 这个示例代码会在地图上显示一个定位点,该点的位置是根据用户的当前位置动态确定的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值