为什么我的标记不会显示在Google地图上?阵列设置不正确吗?

时间:2016-03-26 11:41:27

标签: java android arrays google-maps google-maps-api-3

正如标题所说,我有一系列标记,我已经填充了我想要的标记。但是,地图不会显示已添加到阵列的标记。我不确定错误是什么,虽然我怀疑我的数组没有正确填充。

这里我尝试为每个单独的参数填充三个数组(对于上下文,outputText字符串已更新并正确显示所有信息,因此我不知道为什么其他三个数组会出现问题:

 try {
                String jsonStr = getJS;
                JSONObject jsonObj = new JSONObject(jsonStr);

                JSONArray Ja = jsonObj.getJSONArray("Users");
                int count = 0;
                outputText = "\tNames\t" + "\tLongitude\t" + "\tLatitude\n";

                while (count < Ja.length()) {
                    JSONObject ja = Ja.getJSONObject(count);
                    count++;

                    outputText += "\t" + ja.getString("name") + "\t\t" + ja.getString("lon") + "\t\t" + ja.getString("lat") + "\n";

                    String name = ja.getString("name").trim();
                    names.add(name);

                    String lat = ja.getString("lat").trim();
                    Double dLat = Double.parseDouble(lat);
                    latitudes.add(dLat);

                    String lon = ja.getString("lon").trim();
                    Double dLon = Double.parseDouble(lon);
                    longitudes.add(dLon);
                }

然后我在另一个活动中使用这三个数组来尝试向Google地图添加一系列标记:

 @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        LatLng uni = new LatLng(51.2985, 1.070884);
        m1 = mMap.addMarker(new MarkerOptions().position(uni).title("University senate building").icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE)));

        List<Marker> markers = new ArrayList<>();


        for(int i = 0;i<lf.getNames().size();i++){
            String myName = lf.getNames().get(i);
            Marker marker = mMap.addMarker(new MarkerOptions().position(new LatLng(lf.getLatitudes().get(i),lf.getLongitudes().get(i))).title(myName).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_CYAN)));
            markers.add(marker);
        }
        mMap.moveCamera(CameraUpdateFactory.newLatLng(uni));
        mMap.animateCamera(CameraUpdateFactory.zoomTo(18));
    }

应用程序运行时没有任何错误或警告,但除了最初的&#39; uni之外没有显示任何标记。我手动定义的那个。

我很困惑,因为我一直想弄清楚我出错了一段时间,而我似乎无法找到它。提前谢谢。

0 个答案:

没有答案