3

我有一个页面,其中包含建筑物的卫星视图和对齐的平面图叠加层。有些图像需要与建筑物内的特定位置相关联,因此我想拖动图像,将其放在地图上并将位置数据用于其他任务。

我有这个概念

http://130.111.148.131/JMCTour/admin/setCoordinates.php?floor=1, 

但是标记的准确性还有很多不足之处。如果您访问该站点并放置一个标记,您会发现该位置差异很大。这是真的,不管使用

point = (pageX, pageY),
point = (screenX, screenY),
location = overlay.getProjection().fromDivPixelToLatLng(point),
location = overlay.getProjection().fromcontainerPixelToLatLng(point)

我的代码是

//draggable handler of each photo
$(".photo").draggable({
  helper: "clone",
  cursor: "move",
  containment: $("#photosGallery") ? $("#container") : "document"

});

//droppable handler of the map div
$("#map").droppable({
  drop: function(e){
    var point = new google.maps.Point(e.pageX, e.pageY);
    var data = {
      "location": overlay.getProjection().fromDivPixelToLatLng(point)
    };

    placeMarker(data);
  }
});

//create a new marker overlay at point
function placeMarker(location){
  var marker = new google.maps.Marker({
    position: location.location,
    map: map,
    zIndex: 1000,
    draggable: true
  });
}

我想让准确性工作。虽然我确实可以放置一个位置并将其拖动到正确的位置,但在第一次放置时有一个准确的位置会非常有帮助

4

1 回答 1

1

我在这里有一个旧的 V2 演示,它可能会对您有所帮助。当您放下标记时,它会获得精确的纬度/经度,精度为 6 位小数。您的代码的问题在于e.pageX、e.pageY与整个页面相关,而不仅仅是与包含地图的 div 相关。

于 2012-09-19T09:24:35.107 回答