我已经创建了标记,所以它可以在地图上拖动。我试图从标记得到坐标,所以我可以把它们保存到我的数据库。下面是代码,是否有一个函数,我可以从标记被拖动时获得坐标。或者我应该使用另一个google maps react库。
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;
你正在使用谷歌api的标记,所以你可以使用marker
文档。
具体来说应该使用dragend
事件
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);
};