我在项目中使用了react-native-maps。运行正常。然后我向项目中添加了一些新组件,当我从地图上删除自定义标记时,突然出现了红色屏幕:
删除标记:尝试在空对象引用上调用虚拟方法'void com.google.android.gms.maps.model.setIcon(com.google.android.gms.maps.model.BitmapDescription)'
答案 0 :(得分:0)
您有两个选择:
第一个选项 (最简单,但不会为您带来最佳效果)
使用默认标记:
<MapView.Marker
identifier="DestMarker"
title={SCHEDULED_LABEL}
description={this.props.region.address}
coordinate={{
latitude: this.props.region.latitude,
longitude: this.props.region.longitude,
}}
/>
第二个选项 编辑react-native-maps库
转到:
lib / android / src / main / java / com / airbnb / android / react / maps / AirMapMarker.java
在 node_modules 内部并更改此代码行
marker.setIcon(getIcon());
为此:
if (marker != null) {
marker.setIcon(getIcon());
}
您完成了!
注意:请记住重新安装该应用程序以查看您的更改