2013-06-08 5 views
0

Я создаю карту Google с помощью перетаскиваемого маркера. После того, как я создал маркер, как я могу изменить его положение позже? Могу ли я использовать для этого setposition(latlng)? Если да, то как? Вот мой код, где я создаю 3 экземпляра Google Map:Изменить позицию маркера в Картах Google 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(); 
} 

ответ

0

Любой прогресс? :) Не могу помочь вам с тем, что вы просите, но если у вас нет , который уже зашел слишком далеко в использовании этого плагина, я рискну предложить другое решение с точки зрения другого плагина 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); 

Что касается Вашего вопроса: после инициализации карты, положение маркеров могут be изменить этот путь

map.find("markers").eq(0).attr({ position: [55.68, 12.56] }); 

 Смежные вопросы

  • Нет связанных вопросов^_^