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 に答える