Как добавить и удалить полигоны в Google Maps v3? - PullRequest
14 голосов
/ 06 августа 2010

Я пытаюсь показать и удалить полигоны на Google Map, используя v3 API.В моем JavaScript у меня уже есть MVCArray из некоторых пользовательских Lat-Longs.

Я пытаюсь выяснить, как добавить эти полигоны, а затем, основываясь на каком-то другом событии JavaScript или пользовательском действии,как щелчок по многоугольнику (который был обработан), этот многоугольник будет удален.

Может кто-нибудь помочь?Любой код или ссылки на примеры?Я изо всех сил пытаюсь найти некоторые примеры.Большинство из них обычно идут в какой-то код v2.

Ответы [ 2 ]

21 голосов
/ 07 августа 2010

В документации API есть пара простых примеров добавления многоугольника на карту . Вот функция initialize () из простого примера Бермудский треугольник с добавлением прослушивателя событий для удаления полигона при нажатии.

function initialize() {
  var myLatLng = new google.maps.LatLng(24.886436490787712, -70.2685546875);
  var myOptions = {
    zoom: 5,
    center: myLatLng,
    mapTypeId: google.maps.MapTypeId.TERRAIN
  };

  var bermudaTriangle;

  var map = new google.maps.Map(document.getElementById("map_canvas"),
      myOptions);

  var triangleCoords = [
      new google.maps.LatLng(25.774252, -80.190262),
      new google.maps.LatLng(18.466465, -66.118292),
      new google.maps.LatLng(32.321384, -64.75737),
      new google.maps.LatLng(25.774252, -80.190262)
  ];

  // Construct the polygon
  bermudaTriangle = new google.maps.Polygon({
    paths: triangleCoords,
    strokeColor: "#FF0000",
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: "#FF0000",
    fillOpacity: 0.35
  });

  bermudaTriangle.setMap(map);

  // add an event listener
  google.maps.event.addListener(bermudaTriangle, 'click', function() {
      this.setMap(null);
  });

}
0 голосов
/ 17 января 2018

Я не уверен, применим ли этот ответ к javascript, но определенно относится к java.

Если у вас есть ссылка на объект многоугольника, который вы хотите удалить, просто вызовите метод remove ()этот многоугольник.Обратитесь к документации, приведенной ниже.

https://developers.google.com/android/reference/com/google/android/gms/maps/model/Polygon.html#remove()

...