Skip to content

自定义Marker的数据不会刷新 #98

@gxh-apologize

Description

@gxh-apologize

描述 / Description

Markers上的数据不会刷新。当有 key={mapUiState.endPoint.id}时,key变化了,数据确实会刷新,但是当经纬度发生变化,会生成新的Marker,旧的Marker没有消失。如果key一直不变的话,当数据变了,Marker也不会刷新。

`return (
<View style={[styles.container, { height }]}>
<MapView
ref={mapViewRef}
style={styles.map}
initialCameraPosition={{
// 使用正确的属性名
targetValue: {
latitude: (mapUiState.startPoint.latitude + mapUiState.endPoint.latitude) / 2,
longitude: (mapUiState.startPoint.longitude + mapUiState.endPoint.longitude) / 2
},
zoom: getZoomLevel() // 动态计算的缩放级别
}}
>

    {/* 预计送达时间显示组件 - 显示在终点标记上方 */}
    {
      mapUiState.endPoint && <Marker
        position={{ latitude: mapUiState.endPoint.latitude, longitude: mapUiState.endPoint.longitude }}
        anchor={{ x: 0.3, y: 1.7 }}
        zIndex={10}
        key={mapUiState.endPoint.id}
      >
        <View style={{ flexDirection: 'row', borderRadius: 16, overflow: 'visible' }}
          collapsable={false}>
          <View style={styles.journeyView}
            collapsable={false}>
            <Text style={styles.journeyText}>{mapUiState.distanceStr}</Text>
          </View>
          <View style={styles.estimatedTimeView}
            collapsable={false}>
            <Text style={styles.estimatedTimeText}>{mapUiState.expectTimeStr ?? ""}</Text>
          </View>
        </View>
        {/* <ReceiveMarkerView distanceStr={mapUiState.distanceStr} expectTimeStr={mapUiState.expectTimeStr} /> */}
      </Marker>

    }

  </MapView>
</View>

);
};`

复现步骤 / Steps to reproduce

No response

库版本 / Library version

^3.2.5-rc.2

React Native OpenHarmony version

0.72.86

构建类型 / Build type

None

设备 / Device

None

设备版本 / Device model

Mate 60 HarmonyOS 5.1.0 OpenHarmony 5.0.1 API版本 5.0.5(17)

已悉知 / Acknowledgements

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions