Как нарисовать маркеры на основе текущего холста карты, когда пользователь пересекает карту - PullRequest
1 голос
/ 10 апреля 2019

Я успешно нарисовал маркеры, используя Google Maps API.

var latlng = {lat: 34.7651458,lng: 121.453208};

map = new google.maps.Map(document.getElementById('map'), {
  center: latlng,
  zoom: 18
});

var marker = new google.maps.Marker({
  position: latlng,
  map: map,
  title: 'Marker!'
});
marker.setMap(map);

Но если пользователь пересекает карту, то centre:latlng изменяется. Если я хочу нарисовать новый маркер, для этого нового centre, как мне записать это изменение в centre, чтобы извлечь данные из API для рисования нового маркера. Спасибо за любое предложение.

1 Ответ

1 голос
/ 10 апреля 2019

Вы можете добавить dragend прослушиватель событий к map (или вы также можете использовать center_changed).Получите центр карты, используя map.getCenter() и создайте маркер.

map.addListener('dragend', function() {
    var c = map.getCenter();                   //Get new center of the map

    var marker = new google.maps.Marker({      //Create a new marker and use the map's center as the location.
        position: c,
        map: map,
        title: 'Marker!'
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...