Получение списка наложенных фигур в настоящее время в Google Map API V3 - PullRequest
3 голосов
/ 24 марта 2012

Я использую Менеджер чертежей Google Maps API V3. google.maps.drawing.DrawingManager

Я разрешаю пользователю нарисовать несколько круговых оверлеев на карте. Затем, когда они нажимают кнопку «Сохранить», я должен иметь возможность получить свойства всех кругов и в конечном итоге выполнить магию на стороне сервера.

Как получить список кругов в виде объектов или массива ... и т. Д., Используя Javascript?

Ниже приведен код, в котором я создаю DrawingManager и добавляю инструмент Circle в элемент управления. Я следовал более или менее, это https://developers.google.com/maps/documentation/javascript/reference#DrawingManager

if (drawingManager == null) {
    drawingManager = new google.maps.drawing.DrawingManager({
        drawingMode: google.maps.drawing.OverlayType.CIRCLE,
        drawingControl: false,
        drawingControlOptions: {
            position: google.maps.ControlPosition.TOP_CENTER,
            drawingModes: [google.maps.drawing.OverlayType.CIRCLE]
        },
        circleOptions: {
            fillColor: '#FF0000',
            fillOpacity: 0.35,
            strokeWeight: 5,
            clickable: false,
            draggable: true,
            zIndex: 1,
            editable: true
        }
    });
}

1 Ответ

4 голосов
/ 24 марта 2012

Существует событие overlayComplete , которое будет отправлено после того, как вы закончили рисовать оверлей (в вашем случае это круг). Вы можете обработать его и добавить вновь созданный объект в структуру данных, например, в массив, который вы можете использовать для хранения объектов и отправки их на сервер. Попробуйте что-то вроде этого:

  //After creating 'drawingManager' object in if block 
  google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
      if (event.type == google.maps.drawing.OverlayType.CIRCLE) {
         //Add 'event.overlay', which is Circle, to array
      }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...