要实现marker拖动,可以使用腾讯地图JavaScript API GL中的Marker类和Map类。

首先,在HTML文件中引入腾讯地图JavaScript API GL的js文件:

<script src="https://map.qq.com/api/gljs?v=1.exp&key=YOUR_KEY"></script>

其中,YOUR_KEY需要替换成你自己的腾讯地图API密钥。

接着,在JavaScript文件中创建地图和marker对象,并添加拖拽事件:

// 创建地图对象
var map = new qq.maps.Map(document.getElementById("map"), {
  center: new qq.maps.LatLng(39.916527, 116.397128), // 地图中心点坐标
  zoom: 13, // 地图缩放级别
});

// 创建marker对象
var marker = new qq.maps.Marker({
  position: new qq.maps.LatLng(39.916527, 116.397128), // marker坐标
  map: map, // 将marker添加到地图上
  draggable: true, // 允许拖拽
});

// 添加拖拽事件
qq.maps.event.addListener(marker, "dragend", function (event) {
  console.log(event.latLng); // 打印拖拽后的marker坐标
});

在上述代码中,我们创建了一个地图对象和一个marker对象,并将marker添加到地图上。设置marker的draggable属性为true,表示允许拖拽。接着,我们添加了一个dragend事件监听器,当marker拖拽结束后,会触发该事件,并打印拖拽后的marker坐标。

最后,在HTML文件中添加一个div元素,用于显示地图:

<div id="map" style="width: 100%; height: 500px;"></div>

完整代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Marker拖拽示例</title>
    <style>
      #map {
        width: 100%;
        height: 500px;
      }
    </style>
    <script src="https://map.qq.com/api/gljs?v=1.exp&key=YOUR_KEY"></script>
    <script>
      // 创建地图对象
      var map = new qq.maps.Map(document.getElementById("map"), {
        center: new qq.maps.LatLng(39.916527, 116.397128), // 地图中心点坐标
        zoom: 13, // 地图缩放级别
      });

      // 创建marker对象
      var marker = new qq.maps.Marker({
        position: new qq.maps.LatLng(39.916527, 116.397128), // marker坐标
        map: map, // 将marker添加到地图上
        draggable: true, // 允许拖拽
      });

      // 添加拖拽事件
      qq.maps.event.addListener(marker, "dragend", function (event) {
        console.log(event.latLng); // 打印拖拽后的marker坐标
      });
    </script>
  </head>
  <body>
    <div id="map"></div>
  </body>
</html>

注意:在实际使用中,需要将YOUR_KEY替换成自己的腾讯地图API密钥。

基于腾讯地图JavaScript API GL实现marker拖动

原文地址: https://www.cveoy.top/t/topic/Mw9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录