我在地图上加载了大约2000个标记。一开始它运行得很好,但是后来就会急剧变慢。要修复它,我需要清除应用程序数据,然后它只能再次像以前一样工作几秒钟。
const mapMarkers = [
{id: 1, code: "603778", lat: 35.761791, lng: 51.389438},
{id: 2, code: "788621", lat: 35.712278, lng: 51.361785},
{id: 3, code: "129667", lat: 35.674757, lng: 51.485328},
{id: 4, code: "999646", lat: 35.772885, lng: 51.446735},
{id: 5, code: "111524", lat: 35.755656, lng: 51.446774},
//...
];
let markers = mapMarkers.map(marker => {
return (<Marker
key={marker.code}
coordinate={{latitude: marker.lat, longitude: marker.lng}}
image={require('./images/markers.png')}
onPress={() => console.log("pressed")}
/>)
});
我在模拟器和真机上测试过,并且两者都遇到了问题。
提示:我使用react-native-map-clustering
包进行标记聚类。
tracksViewChanges
是胜利者,对我产生了巨大的影响。 - koosa