java - 将元素添加到 String、Arraylist 的 Map

标签 java android google-maps

使用适用于 Android 的 Google map API (v2),我尝试将一些国家/地区多边形近似值存储到数据结构中,特别是以字符串作为键(国家/地区名称)和 PolygonOptions ArrayList 的 map 。

此变量是私有(private)的并由以下人员声明:

private Map<String, ArrayList<PolygonOptions>> worldMap;

但是当我尝试在以下函数中用 PolygonOption 填充它时,我的代码崩溃了:

private void addSomeCountry() {
        ArrayList <PolygonOptions> MyPoli = new ArrayList<PolygonOptions>();
        PolygonOptions rectOptions = new PolygonOptions()
                .add(new LatLng(42.569962, 1.78172 ))
                .add(new LatLng(42.509438, 1.723611))  
                .add(new LatLng(42.601944, 1.445833))  
                .add(new LatLng(42.569962, 1.78172)) 
                .fillColor(Color.TRANSPARENT)
                .strokeColor(Color.CYAN);
        MyPoli.add(rectOptions);
        worldMap.put("Andorra", MyPoli);
    }

具体来说,它崩溃并出现以下错误:

04-04 21:20:30.335  22562-22562/otorrillas.geography E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: otorrillas.geography, PID: 22562
Caused by: java.lang.NullPointerException
             at otorrillas.geography.DataSaver.addSomeCountry(DataSaver.java:49)
             at otorrillas.geography.DataSaver.onCreate(DataSaver.java:32)

我做错了什么吗?

最佳答案

我没有看到您在任何地方初始化 worldMap

private Map<String, ArrayList<PolygonOptions>> worldMap = new HashMap<>();

应该做。

关于java - 将元素添加到 String、Arraylist 的 Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29450571/

相关文章:

javascript - Google Map V3 上的可拖动图标 - 设置为 Draggable=True,但不能拖动它

java - 是否可以在泛型函数中测试类型?

java - 如何使用 Mockito 编写单元测试

java - JAX-RS:通过查询参数实现多种操作

android - 通过 Python 执行 Android 命令并将结果存储在列表中

android - Nativescript 无法让 ListView 滚动到底部

java - 如何使用响应式 android 和 Retrofit 发出多个请求

java - 有没有办法将 Java TreeMap 序列化为 JSON?

r - R 国家/地区内的大圆 map

Android map V2 : Polygon fill disappears when zooming out