反应本地地图删除标记

时间:2018-09-24 13:08:50

标签: react-native react-native-maps

我在项目中使用了react-native-maps。运行正常。然后我向项目中添加了一些新组件,当我从地图上删除自定义标记时,突然出现了红色屏幕:
删除标记:尝试在空对象引用上调用虚拟方法'void com.google.android.gms.maps.model.setIcon(com.google.android.gms.maps.model.BitmapDescription)' enter image description here

1 个答案:

答案 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());
}

您完成了!

注意:请记住重新安装该应用程序以查看您的更改