我有一個標記的靜態地圖,並希望始終顯示標記標註。如何在Airbnb地圖中顯示標註?
一些人建議使用MapView
的onLayout
,但是這一段時間不起作用。
我試圖用onRegionChangeComplete
有時工作(它被調用一次或兩次)來解決,但在約10%的情況下,它陷在一個循環,並得到一次又一次的調用,直到應用程序崩潰。這隻發生在iOS上。
這是我的代碼
setMarkerRef = (ref) => {
this.marker = ref
}
showCallout =() => {
this.marker.showCallout()
}
render() {
...
<MapView
style={{...StyleSheet.absoluteFillObject}}
region={{
latitude: latitude,
longitude: longitude,
latitudeDelta: 0.00922,
longitudeDelta: 0.00421,
}}
showsMyLocationButton={false}
showsCompass={false}
showsTraffic={false}
zoomEnabled={false}
rotateEnabled={false}
scrollEnabled={false}
pitchEnabled={false}
onRegionChangeComplete={this.showCallout}
onPress={this.openMap}
>
<MapView.Marker
coordinate={{
latitude: latitude,
longitude: longitude,
}}
title={address}
ref={this.setMarkerRef}
/>
</MapView>
任何想法有什麼錯我的做法?有沒有人有更好的解決方法?
編輯:我希望組件看起來像這樣,而不需要用戶交互。只需顯示地圖,標記和標註。
我不能完全確定你想要做什麼。你能解釋一下嗎?您是否嘗試渲染固定在地圖中心的標註? –
嗨,@開文黃我給我的問題添加了圖片。我不希望用戶必須與地圖交互,只需在已打開標註的情況下將其顯示給他們。 –
啊。因此,您的地圖也會停用滾動功能。所以,每當你更新經緯度時,你都希望標記和標註顯示在該座標上,對嗎? –