0

ドラッグ可能なマーカーを使用して Google マップを作成しています。マーカーを作成した後で、その位置を変更するにはどうすればよいですか? これに使えますsetposition(latlng)か?はいの場合、どのように?Google Map 3 インスタンスを作成するコードは次のとおりです。

function showm(la,lo) {
  $('#gmap').hide();
  alert(lo);
  $('#gmap').gmap3({
    marker:{
      latLng: [la,lo],
      options:{
        draggable:true
      },
      events:{
        dragend: function(marker){
          $(this).gmap3({
            getaddress:{
              latLng:marker.getPosition(),
              callback:function(results){
                alert(marker.getPosition().lat());
                var map = $(this).gmap3("get"),
                  infowindow = $(this).gmap3({get:"infowindow"}),
                  content = results && results[1] ? results[0].formatted_address : "no address";
                if (infowindow){
                  infowindow.open(map, marker);
                  infowindow.setContent(content);
                } else {
                  $(this).gmap3({
                    infowindow:{
                      anchor:marker,
                      options:{content: content}
                    }
                  });
                }
              }
            }
          });
        }
      }
    },
    map:{
      options:{
        zoom: 12
      }
    }
  });
  $('#gmap').show();
}
4

1 に答える 1

1

何か進展はありますか?:)あなたが求めていることを正確に助けることはできませんが、そのプラグインをまだ使いすぎていない場合は、別のjQueryプラグイン(landcarte)に関して別の解決策を提案したいと思います.

投稿のコードは次のようになります:
(より読みやすく、jQuery に似ていると思います)

var map = $("#map").geoMap();
var balloon = map.balloon();

var showMap = function(lat, lon) {
    map.attr({ center: [lat, lon], zoom: 12 })
       .add("marker", { position: [lat, lon], draggable: true });
    var marker = map.find("markers").eq(0);
    marker.on("dragend", function(event) {
        map.search(event.location, function(data) {
            balloon.show({ position: marker.attr("position"), content: data.address || "?" });
        });
    });
};

showMap(55.68, 12.56);

あなたの質問に関して:マップが初期化されると、マーカーの位置はこの方法で変更できます

map.find("markers").eq(0).attr({ position: [55.68, 12.56] });
于 2013-06-17T10:45:44.283 に答える