Как изменить положение маркера из функции javascript?

Мне нужно изменить положение маркера на карте Google из функции javascript. Как я могу этого добиться?


person Saurabh    schedule 28.04.2011    source источник


Ответы (3)


Вы можете использовать функцию setPosition класса маркера

function changeMarkerPosition(marker) {
    var latlng = new google.maps.LatLng(-24.397, 140.644);
    marker.setPosition(latlng);
}
person solidrevolution    schedule 28.04.2011
comment
что, если у нас есть несколько маркеров, и мы хотим обновить конкретный маркер на основе идентификатора? - person Usman I; 29.07.2018
comment
@UsmanIqbal Вы передаете объект маркера, который хотите переместить, в функцию changeMarkerPosition - person vladimir.gorea; 17.02.2019

Во-первых, вы должны сохранить маркер в массиве при его создании, чтобы впоследствии иметь к нему доступ.
Затем измените положение с помощью marker.setPosition(), как упоминалось в SolidRevolution.

person Argiropoulos Stavros    schedule 28.04.2011
comment
Вам вообще не нужно хранить его в массиве - person Tim; 21.07.2015

Попробуй это:

var x = document.getElementById("demo");
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude +
        "<br>Longitude: " + position.coords.longitude;
}
person satish kumar tak    schedule 27.04.2015