Androidの高徳地図カスタムスタイル

2321 ワード

アンドロイド統合地図は一般的なニーズであり、多くの場合、地図スタイルを設定する必要があり、公式にはいくつかの選択可能なスタイルが提供され、設定することができます.
最新の構成スタイルの方法は、次のを参照してください.
高徳公式ドキュメント:開発>AndroidマップSDK>開発ガイド>地図の作成>カスタムマップ
公式ドキュメントに対応するファイルをダウンロードし、Androidエンジニアリング下のassetsフォルダに配置し、assetsフォルダにstyleMapサブフォルダを作成しました.中のファイルをsdカードに書きます.
ファイルコードを書き出します.
try {
        //                
        File parent_path = Environment.getExternalStorageDirectory();
        File dir = new File(parent_path.getAbsoluteFile(), "data");
        if(!dir.exists()){
            dir.mkdir();
        }
        File file = new File(dir.getAbsoluteFile(), "style.data");
        if(file.exists()){
            return;
        }
        //      
        InputStream open = this.getResources().getAssets().open("styleMap/style.data");

        file.createNewFile();
        FileOutputStream fos = new FileOutputStream(file);
        int len;
        byte[] buf = new byte[1024];
        while((len=open.read(buf))!=-1){
            fos.write(buf,0,len);
        }
        fos.flush();
        fos.close();

    } catch (IOException e) {
        e.printStackTrace();
    }

高徳地図でファイルを書くパスを指定します.
String path = Environment.getExternalStoragePublicDirectory("data").getPath()+"/style.data"
//     AMap    
setCustomMapStylePath(path);

注意:地図からSDK v 6.6.0以降、カスタムマップの使用方法が大幅に更新されました
1.公式サイトのコンソール-私の地図スタイルで、現在使用している地図SDKバージョン番号に対応するバージョンを選択してスタイルファイルのダウンロードを行います.
2.ダウンロードしたZipファイル、内部ディレクトリ構造は以下の通りで、各ファイルはCustomMapStyleOptionsの1つのインタフェースに対応します.
ファイル名
ファイル内容の説明
対応インタフェース
style_extra.data
グリッドの背景色など、拡張コンテンツ
CustomMapStyleOptions.setStyleExtraData/setStyleExtraPath
style.data
スタイルの詳細設定
CustomMapStyleOptions.setStyleData/setStyleDataPath
textures.zip
テクスチャピクチャ(zipファイル)
CustomMapStyleOptions.setStyleTextureData/setStyleTexturePath
オフライン構成コード:
//    AMap    
aMap.setCustomMapStyle(
    new com.amap.api.maps.model.CustomMapStyleOptions()
    .setEnable(true)
    .setStyleDataPath("/mnt/sdcard/amap/style.data")
    .setStyleExtraPath("/mnt/sdcard/amap/style_extra.data")
    .setStyleTexturePath("/mnt/sdcard/amap/textures.zip") 
    );