3

Android で多数のポリゴンを表示しようとすると、マップが非常に遅くなります

GoogleMap に約 1000 個のポリゴンを表示する次のコードを次に示します。

List<LatLng> list = new ArrayList<LatLng>();
for (int i = 0; i < 33; i++) {
        for (int j = 0; j < 33; j++) {
            list.add(new LatLng(46.961511 + (0.001 * i), 4.866943+ (0.001 * j)));
            list.add(new LatLng(46.961511 + (0.001 * i) + 0.001, 4.866943 + (0.001 * j)));          
            list.add(new LatLng(46.961511 + (0.001 * i)+ 0.001, 4.866943+ 0.001+ (0.001 * j)));         
            list.add(new LatLng(46.961511 + (0.001 * i), 4.866943+ 0.001+ (0.001 * j)));
            addPolygoneToMap(list);
            list.clear();
        }
 }
 private void addPolygoneToMap (List<LatLng> latLngList) {
        mMap.addPolygon(new PolygonOptions()
                .addAll(latLngList)
                .fillColor(Color.BLUE)
                .strokeColor(Color.RED)
                .strokeWidth(3));
 }

ApiMapV1 では、2,000 を超えるポリゴン オーバーレイを表示していました。

問題はポリゴンを作成することではなく、マップをスクロールすることです。

どうすればこの問題を解決できますか? 何が間違っているのですか?どうすればこれを最適化できますか?

4

1 に答える 1

0

編集済み: 私はふざけて、Android 用 Google マップではウェブ用 Google マップのようにカスタム マップを作成できないことに気づきませんでした。

Google マップは、その多くのポリゴンを処理できません。この問題は Google Maps for Web で回避できますが、多くのポリゴンを表示するには、実用的な観点からタイルを生成する必要があります。そのため、アプリをネイティブ アプリではなく Web ページとして作り直す必要があります。

カスタム マップ タイルを使用してマップを作成する方法に関する資料はたくさんあります。見る

タイルのレンダリング速度を上げる方法に関するブログ投稿もありますが、stackoverflow では別のリンクを投稿できません。マップ タイルの生成を最適化するシャーウッドの検索

幸運を!

于 2013-03-22T19:32:40.690 に答える