基于腾讯地图JavaScript API GL实现marker拖动
要实现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密钥。
原文地址: https://www.cveoy.top/t/topic/Mw9 著作权归作者所有。请勿转载和采集!