点击其他点位:
代码:
const initMap = () => {
const center = new TMap.LatLng(latitude.value, longitude.value);
map = new TMap.Map("container", {
rotation: 20,
pitch: 30,
zoom: zoomLevel.value, // Use zoomLevel from ref()
center: center,
});
marker = new TMap.MultiMarker({
map: map,
styles: {
// 点标记样式
marker: new TMap.MarkerStyle({
width: 20, // 样式宽
height: 30, // 样式高
anchor: {
x: 10,
y: 30
}, // 描点位置
}),
},
geometries: [],
});
circle = new TMap.MultiCircle({
map,
styles: { // 设置圆形样式
'circle': new TMap.CircleStyle({
'color': 'rgba(41,91,255,0.16)',
'showBorder': true,
'borderColor': 'rgba(41,91,255,1)',
'borderWidth': 2,
}),
},
geometries: [{
styleId: 'circle',
center: center,
radius: 10000,
}],
});
// 点击地图事件处理函数
map.addListener('click', function(event) {
// 获取点击事件的经纬度坐标
const clickedLat = event['latLng'].lat;
const clickedLng = event['latLng'].lng;
latlngValue.value = clickedLat + ',' + clickedLng;
// 清除之前的圆圈(如果有的话)
if (circle) {
circle.setMap(null);
}
// 创建新的圆圈
circle = new TMap.MultiCircle({
map,
styles: {
'circle': new TMap.CircleStyle({
'color': 'rgba(41,91,255,0.16)',
'showBorder': true,
'borderColor': 'rgba(41,91,255,1)',
'borderWidth': 2,
}),
},
geometries: [{
styleId: 'circle',
center: new TMap.LatLng(clickedLat, clickedLng), // 使用点击的经纬度作为圆心
radius: 10000,
}],
});
});
};