Получить границы div в Google Map OverlayView - PullRequest
0 голосов
/ 16 октября 2019

Я создаю 1 наземный селектор через карту Google. В Google Map я создаю прямоугольную форму, после чего пользователь может перемещать / изменять размер / вращать. Теперь пользователь уже может перемещать / изменять размер / вращать эту фигуру, но после этого я не знаю, как получить широту этой фигуры для сохранения в БД.

Это пример кода:

gm.prototype = new google.maps.OverlayView();
function gm(bounds, map, deg) {
  this.bounds_ = bounds
  this.map_ = map
  this.deg_ = deg
  this.div_ = null
  this.setMap(map)
}

gm.prototype.onAdd = function() {

  const div = document.createElement('div')
  div.classList.add('my-regtange')
  div.id = 'myRegtange'
  div.style.borderColor = 'red'
  div.style.borderStyle = 'solid'
  div.style.borderWidth = '3px'
  div.style.position = 'absolute'

  div.style.transform = 'rotate(' + this.deg_ + 'deg)'
  this.div_ = div

  const panes = this.getPanes()
  panes.overlayMouseTarget.appendChild(div)
  panes.markerLayer.id='socanLayer';
}

gm.prototype.draw = function() {
  const overlayProjection = this.getProjection();
  const sw = overlayProjection.fromLatLngToDivPixel(this.bounds_.getSouthWest())
  const ne = overlayProjection.fromLatLngToDivPixel(this.bounds_.getNorthEast())
  const div = this.div_
  div.style.left = sw.x + 'px'
  div.style.top = ne.y + 'px'
  div.style.width = (ne.x - sw.x) + 'px'
  div.style.height = (sw.y - ne.y) + 'px'

  Subj('#myRegtange').draggle({
    drop: (e,el) => {
      console.log(el)
      // How to get Lat/Lon here
    },
    snap: 20
  })
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...