当前正在为公司创建应用程序。应用程序的用户显示在地图上,他们的宠物也应该显示在地图中。为了做到这一点,我需要地图的边界。我使用的是react-native-maps
,它是一个内置函数getMapBoundaries
。当我使用该功能时,我得到了以下错误
function getMapBoundaries does not exist
以及最新的
Cannot set property map of undefined.
这是我的
const AppMapView = () => {
const handleRegionChange = async region => {
//I get an error for the statement below
console.log(
await this.map.getMapBoundaries()
.then(response => {
return response
})
)
};
handleRegionChange()
return (
<View style={styles.container}>
<MapView
ref={ref => {
this.map = ref;
}}
>
<Marker
coordinate={...}
>
<Image {...} />
</Marker>
</MapView>
</View>
)
};
export default AppMapView;
请提供一个代码示例。
如果有人仍在寻找答案,这是有效的:
<MapView
ref={mapView}
onRegionChangeComplete={async (val) => {
console.log(await mapRef.current.getMapBoundaries())
}
>
<Marker
coordinate={...}
>
</Marker>
</MapView>
您可以从参考的当前值中获取
此代码适用于我:
mapRef = null;
onRegionChangeComplete = async () => {
console.log("onRegionChangeComplete", await this.mapRef.getMapBoundaries());
};
<MapView
ref={(ref) => {
this.mapRef = ref;
}}
onRegionChangeComplete={this.onRegionChangeComplete}
<Marker
coordinate={...}
>
</Marker>
</MapView>