我已经使用react-native-map渲染Google地图,并使用本机应用程序中的标记从中选择位置。显示地图和标记,标记也可拖动,但是我得到的响应未定义。这是我的代码。
<MapView
provider={PROVIDER_GOOGLE}
showsUserLocation={true}
zoomEnabled={true}
followUserLocation
loadingEnabled
showsMyLocationButton={true}
region={mapRegion}
onRegionChange={onRegionChange}
minZoomLevel={17}
>
<Marker.Animated
draggable
onDragEnd={(e) => this.onMarkerDragEnd(e.nativeEvent.coordinate)}
ref={markerRef}
coordinate={{
latitude: markerCord.droplatitude
? markerCord.droplatitude
: markerCord.wherelatitude,
longitude: markerCord.droplongitude
? markerCord.droplongitude
: markerCord.wherelongitude,
}}
image={require("../../assets/images/rsz_2red_pin.png")}
/>
</MapView>
还有我使用的功能
onMarkerDragEnd = (coord) => {
let newRegion = {
latitude: parseFloat(coord.latitude),
longitude: parseFloat(coord.longitude),
latitudeDelta: 0.0522,
longitudeDelta: 0.0321,
};
console.log("dragEnd", this.newRegion.latitude);
this.setState({
region: newRegion,
});
};
输出 未定义
并且我也尝试这种方式,即删除此功能并仅使用
onDragEnd={(e) => {console.log("dragEnd",(e.nativeEvent.coordinate))}}
它返回了
dragEnd Object {
"latitude": 37.32773286868661,
"longitude": -122.02642522752284,
}
但是当我尝试提取经度和纬度时,它返回的是不确定的