我想从地图外部将对象拖到我的Google地图(API V3)中。
经过一些研究,我找到了this very helpful post,我试着让它适应我的项目。
主要思想是在地图上拖动.png图像,当鼠标按钮关闭时,获取实际坐标并在该纬度/ lng处放置标记。
但是我注意到拖动图像的点与放置标记的点之间存在差异。无论缩放级别如何,上面链接的样本的差异大约为10/15像素。在最大变焦时,它不是很重要,但是你取消的越多,差距越重要。
差距的说明:
(我们距离想要的地方100公里/ 60英里......)
那么,为什么会出现这样的差距呢?在我上面链接的样本中,差距不太重要,但它也存在。我的浏览器控制台没有错误,它似乎不是一个棘手的CSS问题 有人知道如何纠正这个问题吗?谢谢
答案 0 :(得分:11)
标记位置的计算并不精确。
固定功能:
$(document).ready(function() {
$("#draggable").draggable({helper: 'clone',
stop: function(e,ui) {
var mOffset=$($map.getDiv()).offset();
var point=new google.maps.Point(
ui.offset.left-mOffset.left+(ui.helper.width()/2),
ui.offset.top-mOffset.top+(ui.helper.height())
);
var ll=overlay.getProjection().fromContainerPixelToLatLng(point);
placeMarker(ll);
}
});
});