reactjs - 当我按住以拖动反应原生地图时,谷歌地图标记移动错误
问题描述
我想在反应原生地图视图中拖动一个标记。
拖动是可以的,但是当我第一次按下标记时,它会向上方移动一点。
我想解决这个意想不到的举动。
我不确定是什么原因。您可以在此处
查看当前情况。
源代码如下。
import React, {useState, useEffect} from 'react'
import { View } from 'react-native'
import MapView, {Marker} from 'react-native-maps'
const DEFAULT_DELTA = {latitudeDelta: 0.015, longitudeDelta: 0.0121}
const initialLoc = {
latitude: 24,
longitude: 75
}
const App = () => {
const [location, setLocation] = useState(initialLoc)
useEffect(() => {
navigator.geolocation.watchPosition(
position => {
const {latitude, longitude} = position.coords;
setLocation({
latitude,
longitude
})
},
error => {
console.error(error)
}, {
enableHighAccuracy: true,
timeout: 20000,
maximumAge: 10000
}
);
}, [])
const onMarkPress = (e) => {
const {coordinate} = e.nativeEvent
setLocation(coordinate)
};
const onMapPress = (e) => {
const {coordinate} = e.nativeEvent
setLocation(coordinate)
};
return (
<View style={{flex:1}}>
{location && (
<MapView
style={{flex: 1}}
initialRegion={{
latitude: location.latitude,
longitude: location.longitude,
...DEFAULT_DELTA
}}
onPress={onMapPress}
>
<Marker draggable
coordinate={location}
onDragEnd={onMarkPress}
/>
</MapView>
)}
</View>
)
}
export default App
解决方案
此行为也显示在 react-native-maps 的DraggableMarkers.js 示例中,因此您的代码实现不是这里的问题。
它可能已经在 GitHub 存储库上报告过,但我无法找到它,所以我建议您在此处提交一个错误。
希望这可以帮助!
推荐阅读
- containers - 在 Ubuntu 20.04 中运行 podman 的问题
- r - 如何在堆积条形图中的两个水平条之间插入文本
- android - getenv("HOME") 在 android 的本机代码中返回 null
- .net - 在 Serilog LogContext.PushProperty 之后获取属性
- c# - 如何在 c# 中取消转义多字节 unicode
- python - 将 3D 数组图像转换为 2D 数组
- github - Azure DevOps Server 2019 - 创建管道 - 你的代码在哪里没有 GitHub yaml 选项
- node.js - 如何将数据库中价格的字符串格式更改为 mongodb 中的整数格式?
- nextcloud - 简单的 API 调用被重定向
- jmeter - 如何在 CI/CD 管道中读取和比较 jmeter 结果