0

大家好,希望你们有美好的一天

为了加载大量标记(如 1 百万),我将 MapPos 列表传递给 VectorDataSource 并试图强制它实时创建点,只要相关坐标现在必须对地图可见,但不幸的是,经过几次尝试似乎我对地图不太了解。你能帮我解决这个难题吗?非常感谢

 public static void createlustering(Projection proj,MapView mapView,Context context,final Bitmap bmp,float distance,float textSize,final ArrayList<MapPos> points){

         AbstractVectorDataSource<Geometry> source = new AbstractVectorDataSource<Geometry>(proj) {

            @Override
            public Collection<Geometry> loadElements(CullState arg0) {

                //what to do here

                return list;
            }

            @Override
            public Envelope getDataExtent() {

                //what to do here
                return null;
            }
        };
        // source.addAll(points);

         Clusterer mClusterer = new Clusterer();
         mClusterer.addPointCluster(mapView, context,source,bmp,distance,textSize);

     }
4

1 回答 1

0

不幸的是,这对于集群来说有点大。然而,一个更具可扩展性的解决方案是将它们加载到您的 CARTO 帐户并从那里查询它们(使用概述)。

参看。android 示例:CartoDBSQLDataSourceCartoSQLActivity

此外,如果您愿意升级您的 SDK 版本,您可以查看更新的示例(主分支)

于 2016-11-09T09:02:46.520 回答