В основном у меня есть приложение Ionic, которое заставляет пользователя щелкнуть карту и вернуть ее пользователю, без проблем. Моя проблема в том, что когда пользователь нажимает несколько раз на карте, я добавил маркеры, чтобы сообщить пользователю о выбранном им местоположении, и я хочу, чтобы каждый раз, когда он щелкает по карте, количество маркеров оставалось единым.

-1
Miguel Sobong 23 Дек 2017 в 18:44

1 ответ

Лучший ответ

Возможно, вы создаете новый маркер и используете marker.setMap(map);. Это создает новый маркер и добавляет его на текущую карту.

Не определяйте новый маркер и просто используйте вместо этого setPosition, чтобы изменить положение текущего маркера:

marker.setPosition(position);

Где позиция - это массив {широта, долгота} от позиции клика; Не забудьте определить маркер как глобальную переменную, чтобы вы могли использовать его как при создании карты, так и для обновления положения;

var marker;
function initMap() {
        //Here you initialize the map and marker then
        marker.setMap(map);
      }
function updateMarkerPosition(lat,lng){
    marker.setPosition({lat:" + lat +",lng:"+ lng+ "});
}
2
Ali Sheikhpour 24 Дек 2017 в 10:38