leaflet使用高德地图

文章介绍了在Vue项目中使用Leaflet集成高德地图的过程,强调了Leaflet的轻量化和易用性,同时提到了集成后的一些功能,但也指出Leaflet无法覆盖高德地图的所有特性,如特定API调用仍需使用高德API。

之前项目中,需要高德地图,但因项目要求,需用leaflet集成高德。

好处:leaflet非常轻量化,方法调用很容易上手,切集成后,类似点击、画线、图层切换、打点等等事件可由leaflet统一调用,无需再看其他地图api文档重复学习。

不好处:一些高德特有的api调用,leaflet无法介入,因此还是需要高德key,进行特有的api调用,比如经纬度和详细地址的互相转换。

npm install leaflet
<template>
  <div ref="mapRef" class="map"></div>
</template>

初始化leaflet

const initMap = () => {
  const map = L.map(mapRef.value, {
    center: [lnglatData.value[1], lnglatData.value[0]],
    zoom: 13,
    minZoom: 6,
    maxZoom: 23
  });
  // const mapType = 'vec';
  L.tileLayer(
    'http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}', {
      attribution: '&copy; 高德地图',
      maxZoom: 25,
      minZoom: 1,
      subdomains: '1234',
      zoom: 3
    }
  ).addTo(map);
  map.on('click', (evt) => {
    mapObj.value.removeLa
Leaflet是一款轻量级的JavaScript库,用于创建交互式地图。要使用Leaflet集成高德地图,你需要通过官方提供的插件或者API。以下是基本步骤: 1. **安装依赖**:首先,在项目中引入Leaflet主文件和高德地图相关的JavaScript和CSS资源。可以在Leaflet的官网下载最新版本,同时从高德地图官网获取地图API的链接。 ```html <link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" /> <script src="https://unpkg.com/leaflet/dist/leaflet.js"></script> <!-- 高德地图JS API --> <script src='https://webapi.amap.com/maps?v=1.4.15&key=your_amap_key'></script> ``` 记得替换`your_amap_key`为你的实际高德地图API key。 2. **初始化地图**:在HTML或JavaScript中,你可以使用高德地图的初始化函数创建一个Map实例,并设置其容器元素ID以及中心点和缩放级别。 ```javascript var map = L.map('mapid').setView([39.9042, 116.4074], 13); // 北京坐标及初始缩放等级 ``` 3. **添加图层**:然后,你可以使用高德地图提供的`AMap.Map`组件创建一个图层,如marker、polyline或polygon等。 ```javascript var amapMarker = new AMap.Marker({ position: [39.9042, 116.4074], raiseOnDrag: true, }); map.addLayer(amapMarker); ``` 4. **绑定事件处理**:可以利用Leaflet高德地图各自提供的事件机制,例如监听地图点击事件。 ```javascript amapMarker.on('click', function(e) { console.log('Marker clicked:', e.lnglat); }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值