Android高徳地図カスタムマップ

1487 ワード

現在、高徳地図を呼び出すappの多くは、カスタム地図を使用しており、個性的です.今テーマに入ります.
高徳が提供した開発ドキュメントhttps://lbs.amap.com/api/android-sdk/guide/create-map/custom/,参照していくと,オフラインロードで与えられた方法はいずれも時代遅れであることが分かった.高徳apiを参照すると、置換方法は次のとおりです.
aMap.setCustomMapStyle(customMapStyleOptions);
一方、CustomMapStyleOptionsが提供する方法はsetStyleData(byte[]var 1)、setStyleExtraData(byte[]var 1)である.
ダウンロードしたプロファイルxxx.dataはassetsファイルに格納され、最終的にbyte[]と読み出され、上記setメソッドに与えられる.カスタムマップをオフラインでロードできます.
貼り付け方法は以下の通りです.
byte[]  buffer1 = null;
byte[]  buffer2 = null;
InputStream is1 = null;
InputStream is2 = null;
try {
    is1 = _mActivity.getAssets().open("style.data");
    int lenght1 = is1.available();
    buffer1 = new byte[lenght1];
    is1.read(buffer1);
    is2 = _mActivity.getAssets().open("style_extra.data");
    int lenght2 = is2.available();
    buffer2 = new byte[lenght2];
    is2.read(buffer2);
} catch (IOException e) {
    e.printStackTrace();
}finally {
    try {
        if (is1!=null)
            is1.close();
        if (is2!=null)
            is2.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}CustomMapStyleOptions customMapStyleOptions = new CustomMapStyleOptions();
customMapStyleOptions.setStyleData(buffer1);
customMapStyleOptions.setStyleExtraData(buffer2);
aMap.setCustomMapStyle(customMapStyleOptions);