He hecho el marcador para que se pueda arrastrar en el mapa. Sin embargo, estoy tratando de obtener las coordenadas del marcador para poder guardarlas en mi base de datos. A continuación se muestra el código, ¿hay una función de la que pueda obtener las coordenadas cuando se ha arrastrado el marcador? ¿O debería usar otra biblioteca de reacción de Google Maps?
import React, {Component, useCallback} from "react"; import GoogleMapReact from "google-map-react"; class Map extends Component { loadMap = (map, maps) => { let marker = new maps.Marker({ position: { lat: 40.856795, lng: -73.954298 }, map, draggable: true, }); }; render() { return ( <div style={{ height: "400px", width: "100%" }}> <GoogleMapReact bootstrapURLKeys={{ key: "key here" }} defaultCenter={{ lat: 40.756795, lng: -73.954298 }} defaultZoom={10} yesIWantToUseGoogleMapApiInternals onGoogleApiLoaded={({ map, maps }) => this.loadMap(map, maps)} > </GoogleMapReact> </div> ); } } export default Map;
Está utilizando la API de Google para el marcador, por lo que puede usar los documentos del marker
.
Específicamente deberías usar el evento dragend
Algo como
handleDragEnd = (event) => { console.log(event.latLng); } loadMap = (map, maps) => { let marker = new maps.Marker({ position: { lat: 40.856795, lng: -73.954298 }, map, draggable: true, }); marker.addListener('dragend', this.handleDragEnd); };