vue3 高德地图api加载热力图及关闭 JSAPI v1.4.15

高德地图api加载天地图和2D热力图及关闭 JSAPI v1.4.15
地图API地址
[http://lbs.tianditu.gov.cn/server/MapService.html](http://lbs.tianditu.gov.cn/server/MapService.html)

高德地图2D热力图地址
[https://lbs.amap.com/demo/loca-api/demos/loca_heatmap/loca_heatmap_3d](https://lbs.amap.com/demo/loca-api/demos/loca_heatmap/loca_heatmap_3d)
// 初始化地图
AMapLoader.load({
    key: "", // 申请好的Web端开发者Key,首次调用 load 时必填
    //version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
    plugins: ['AMap.Weather', 'AMap.MouseTool'], // 需要使用的的插件列表, 天气,鼠标工具, 导入geojson文件,
    AMapUI: {
      version: '1.1',
      plugins: ['misc/PathSimplifier']
    },
    Loca: {} // 热立图必须加
  }).then((AMap) => {
    let wms = tileLayerUrl('img')
    state.AMap = AMap   //  方便后续操作
    state.map = new AMap.Map("container", { //设置地图容器id
      //rotateEnable:true,
      //pitchEnable:true,
      //mask: mask,
      //pitch: 45, // 地图俯仰角度,有效范围 0 度- 83 度
      //viewMode: "3D", //是否为3D地图模式
      //terrain: true, // 开启地形图
      zoom: 11.1, //初始化地图级别  11.1
      zooms: [5, 20], // 缩放范围
      expandZoomRange: true,
      center: state.center2D, //初始化地图中心点位置
      //mapStyle: 'amap://styles/45311ae996a8bea0da10ad5151f72979',
      layers: [ //使用多个图层
        wms
      ],
    });

// 天地图地图url
function tileLayerUrl(layer, id) {
  let wms = new AMap.TileLayer.WMTS({
      url: `http://t1.tianditu.gov.cn/${layer}_w/wmts`,
      blend: false,
      tileSize: 256,
      zIndex: 2,
      params: {
        Layer: 'img',
        Version: '1.0.0',
        Format: 'tiles',
        TileMatrixSet: 'w',
        STYLE: 'default',
        tk: ''    //  天地图申请的token
        // 注意参数中的LAYER:'vec'和TILEMATRIXSET:'w',这两个要与链接中的vec_w对应
      }
    })
  return wms
}

// 热力图
let heatmapLayer = ref(null)
function peopleVisualMap(heatmapData) {
  heatmapLayer.value = new Loca.HeatmapLayer({
        map: state.map,
    });
    if (heatmapData) {
      let list = [];
      let i = -1, length = heatmapData.length;
      while (++i < length) {
        let item = heatmapData[i];
          list.push({
              coordinate: [item.lng, item.lat],
              count: item.count
          })
      }
      heatmapLayer.value.setData(list, {
          lnglat: 'coordinate',
          value: 'count'
      });
      heatmapLayer.value.setOptions({
          style: {
              radius: 40,
              color: {
                  0.5: '#2c7bb6',
                  0.65: '#abd9e9',
                  0.7: '#ffffbf',
                  0.9: '#fde468',
                  1.0: '#d7191c'
              }
          }
      });
    }
    heatmapLayer.value.render();
}


// 关闭热力图
function clearPeopleVisual() {
  // 隐藏热力图
  heatmapLayer.value.hide();
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高德地图 API 提供了热力图的 JavaScript API。通过该 API,您可以在网页上展示高德地图热力图功能。您可以使用以下步骤来使用高德地图 API热力图功能: 1. 在您的网页中引入高德地图的 JavaScript API。您可以使用以下代码将高德地图 JavaScript API 引入到您的网页中: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的API Key"></script> ``` 2. 创建一个地图容器。您可以在网页中创建一个 `<div>` 元素作为地图容器,例如: ```html <div id="mapContainer" style="width: 100%; height: 400px;"></div> ``` 3. 初始化地图对象。在 JavaScript 代码中,您可以使用以下代码初始化地图对象: ```javascript var map = new AMap.Map('mapContainer', { zoom: 13, // 缩放级别 center: [116.397428, 39.90923] // 地图中心点坐标 }); ``` 4. 添加热力图层。在 JavaScript 代码中,您可以使用以下代码创建并添加热力图层: ```javascript var heatmap; AMap.plugin(['AMap.Heatmap'], function() { heatmap = new AMap.Heatmap(map, { radius: 25, // 热力图点半径 opacity: [0, 0.8], // 热力图透明度范围 gradient: { 0.5: 'blue', 0.65: 'rgb(117,211,248)', 0.7: 'rgb(0, 255, 0)', 0.9: '#ffea00', 1.0: 'red' } // 热力图渐变区间颜色 }); // 设置热力图数据 heatmap.setDataSet({ data: 热力图数据数组 }); }); ``` 请注意,上述代码中的 `您申请的API Key` 需要替换为您在高德开放平台申请的 API Key。热力图数据数组需要根据您的实际需求进行提供。 通过以上步骤,您就可以在网页中使用高德地图 API热力图功能了。更多详细的文档和示例代码可以参考高德地图开放平台的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值