Android Google Maps v2多边形性能问题?

Bob*_*ke4 5 java android google-maps google-maps-api-2

我正在使用谷歌地图v2 api为我正在构建的Android应用程序,它必须在地图上绘制多边形.当多边形的数量很小时,一切正常,当数字越大时,地图加载缓慢,平移和缩放真的很慢.我正在使用SupportMapFragment并添加如下多边形:

    for(PolygonOptions item : items) { 
            getMap().addPolygon(poly);
    }
Run Code Online (Sandbox Code Playgroud)

有没有办法提高大量多边形的性能?

Cra*_*ide 0

Bobbake4 是正确的。Android 要求 addPolygon 位于主线程上。我也有类似的问题。目前我正在实现 asynctask,但似乎没有办法从doInBackground我当前的代码中执行 addPolygon ,如下所示:

    private class AddPolygonToMap extends
        AsyncTask<String, Integer, ArrayList<PolygonOptions>> {

    @Override
    protected ArrayList<PolygonOptions> doInBackground(String... urls) {
        publishProgress(1);
        return drawPolygonWithPage(urls[0]);
    }

    @Override
    protected void onProgressUpdate(Integer... progress) {
        int value = progress[0] + progressBar.getProgress();
        progressBar.setProgress(value);
    }

    @Override
    protected void onPostExecute(ArrayList<PolygonOptions> result) {
        for (int i = 0; i < result.size(); i++) {
            map.addPolygon(result.get(i));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要 addPolygon 背景...还有其他方法可以完成此任务吗?