我可以轻松地使标记居中。但是,它不计入信息气泡的大小。
我想在单击标记时重新放置地图,以使其适合信息气泡。这可以简单地将水平中心和垂直底部对齐。
我尝试操纵标记中心的位置。但是,这也令人惊讶地将标记也移动到了新位置。
答案 0 :(得分:0)
能否请您尝试在JS片段下方添加内容,因为它允许标记移动,但在拖动地图时限制其移动。
我希望这可以帮助您实现预期的结果。
<script>
function addDraggableMarker(map, behavior){
var marker = new H.map.Marker({lat:42.35805, lng:-71.0636});
// Ensure that the marker can receive drag events
marker.draggable = true;
map.addObject(marker);
// disable the default draggability of the underlying map
// when starting to drag a marker object:
map.addEventListener('dragstart', function(ev) {
var target = ev.target;
if (target instanceof H.map.Marker) {
behavior.disable();
}},false);
// re-enable the default draggability of the underlying map
// when dragging has completed
map.addEventListener('dragend', function(ev) {
var target = ev.target;
if (target instanceof mapsjs.map.Marker) {
behavior.enable();
}
}, false);
// Listen to the drag event and move the position of the marker
// as necessary
map.addEventListener('drag', function(ev) {
var target = ev.target,
pointer = ev.currentPointer;
if (target instanceof mapsjs.map.Marker) {
target.setPosition(map.screenToGeo(pointer.viewportX, pointer.viewportY));
}
}, false);
}
</script>