谷歌地图群集不适用于少量的坐标

时间:2017-06-01 21:57:48

标签: java android google-maps android-layout google-maps-markers

我正在使用Google Map Clustering演示应用example来玩它。按照示例中的偏移量如下:

private void readItems() throws JSONException {
    InputStream inputStream = getResources().openRawResource(R.raw.radar_search);
    List<MyItem> items = new MyItemReader().read(inputStream);
    for (int i = 0; i < 5; i++) {
        double offset = i / 60d;
        for (MyItem item : items) {
            LatLng position = item.getPosition();
            double lat = position.latitude + offset;
            double lng = position.longitude + offset;
            MyItem offsetItem = new MyItem(lat, lng);
            mClusterManager.addItem(offsetItem);
        }
    }
}

群集适用于大量坐标(=&gt; 5)。要理解让我们采取两种方案:

  • 第一种情况 我通过以下数据文件加载两个坐标:

    [
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 }
    ]
    

    正如我们在上面的数据文件中看到的那样,{ "lat" : 28.5102148, "lng" : 77.411671 }的计数为9,{ "lat" : 28.5092163, "lng" : 77.4135367 },的计数为5.模拟器的屏幕截图:

enter image description here

  • 第二种情况 我通过以下数据文件加载两个坐标:

    [
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5092163, "lng" : 77.4135367 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 },
     { "lat" : 28.5102148, "lng" : 77.411671 }
    ]
    

    正如我们在上面的数据文件中看到的那样,{ "lat" : 28.5102148, "lng" : 77.411671 }的计数为9,{ "lat" : 28.5092163, "lng" : 77.4135367 },的计数为4.模拟器的屏幕截图:

enter image description here

所以,问题是每当我为同一Lat,Lng传递少于5个协调员时。谷歌地图不会显示群集。它应该显示为94

我试图按照文档进行操作,但没有任何事情可以帮助我。我在这里做错了什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

经过这么多次的尝试。我查看了Clustercode并找到了:

private int mClusterSize = 4; 

根据您的方便将其更改为