有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Google map群集不适用于少量Cordinate

我正在使用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);
        }
    }
}

群集对于大量坐标(>;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) 个答案

  1. # 1 楼答案

    经过这么多次尝试。我查看了Clustercode,发现:

    private int mClusterSize = 4; 
    

    根据您的方便将其更改为