Я создаю 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
})
}