繁体   English   中英

当用户过滤标记然后放大/缩小时,在自定义标记上重新创建标记引脚(请通过以下说明 Go)

[英]marker pin recreate on custom marker when user filter the marker then zoom in /out (Please Go through the below Description)

起初,渲染一切正常,但是一旦用户尝试通过 rest api 过滤标记,这一步之后用户缩小或放大 map 默认标记针生成自定义标记

依赖:- react-native-maps

查看录制视频:- 视频链接

错误图片

 <MapView ref={mapRef} rotateEnabled={false} shouldRasterizeIOS mapType="standard" style={styles.map} initialRegion={INITIAL_REGION} > {data && data?.map(item => ( <CustomMarker item={item} key={item?.id} setSelectedMarkerId={(row: any) => { mapRef?.current?.animateToRegion( { latitude: Number(row?.lat), longitude: Number(row?.long), latitudeDelta: 0.002, longitudeDelta: 0.002, }, 1000, ); }} coordinate={{ latitude: Number(item?.lat), longitude: Number(item?.long), }} /> ))} </MapView>

这是我的自定义标记代码:-

const CustomMarker = ({ item, setSelectedMarkerId, setIsMarkerDetailShow , coordinate   }) => {
    const [tracksViewChanges, setTracksViewChanges] = useState(true);
 
    
  return (
    <Marker
    tracksViewChanges={tracksViewChanges}
      coordinate={coordinate}
      onPress={() => {
        setSelectedMarkerId(item);
        // setIsMarkerDetailShow(true);
      }}
      >
   <View>
   {item?.abribois ? (
        <Image
          source={require('src/assets/images/greenMarker.png')}
          style={{
            height: 30,
            width: 30,
            resizeMode: 'contain',
          }}
          onLoadEnd={() => setTracksViewChanges(false)}
        />
      ) : (
        <Image
          source={require('src/assets/images/blueMarker.png')}
          style={{
            height: 30,
            width: 30,
            resizeMode: 'contain',
          }}
          onLoadEnd={() => setTracksViewChanges(false)}
        />
      )}
   </View>
    </Marker>
  );
};

export default CustomMarker;

这个问题与react-native-reanimated 相关联。

经过一些研究,我找到了这个解决方案,它对我有用

react-native-maps-reanimated-issue-patches

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM