该回答引用ChatGPT,希望对题主有所帮助,如有帮助,还望采纳。
可以尝试给marker添加CSS属性position: absolute和pointer-events: none,然后在drag事件中手动计算marker的位置并设置它的left和top属性。
例如,给marker添加以下样式:
#marker {
position: absolute;
pointer-events: none;
width: 20px;
height: 20px;
margin-left: -10px;
margin-top: -10px;
background-color: red;
border-radius: 50%;
}
然后在drag事件中计算marker的位置并设置left和top:
qq.maps.event.addListener(map, 'drag', function(event) {
var latlng = map.getCenter();
var pixel = map.getProjection().fromLatLngToPoint(latlng);
var markerPosition = new qq.maps.Point(
pixel.x * Math.pow(2, map.getZoom()),
pixel.y * Math.pow(2, map.getZoom())
);
markerPosition.x -= $('#marker').width() / 2;
markerPosition.y -= $('#marker').height() / 2;
$('#marker').css({
left: markerPosition.x + 'px',
top: markerPosition.y + 'px'
});
});
注意,以上代码中使用了jQuery,需要先引入jQuery库。另外,marker的id为'marker',可以根据实际情况进行修改。