MapboxMap 之设置 Style

Style:当前地图样式的代理对象

view on github

在  implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.2.0' 里,内置提供了

Style.MAPBOX_STREETS : 完整的底图
Style.OUTDOORS : 适合户外活动的通用样式
Style.LIGHT :   数据可视化的微妙灯光背景
Style.DARK : 用于数据可视化的细微深色背景
Style.SATELLITE : 美丽的全球卫星和航空影像图层
Style.SATELLITE_STREETS : 具有不引人注目的标签的全球卫星和航空影像
Style.TRAFFIC_DAY : 基于实时交通拥堵数据的彩色道路。
Style.TRAFFIC_NIGHT : 基于实时交通拥堵数据的颜色编码道路,旨在在弱光情况下最大程度地提高可读性。

一、设置Style

1.设置地图样式为Style.MAPBOX_STREETS,你可以替换为内置的其他url.

//加载新的地图样式
mapboxMap.setStyle(Style.MAPBOX_STREETS, new Style.OnStyleLoaded() {
    @Override
    public void onStyleLoaded(@NonNull Style style) {
      
    }
});

 2.引用资产文件夹中的本地JSON样式文件,并将其作为字符串参数传递

// 引用资产文件夹中的本地JSON样式文件,并将其作为字符串参数传递
mapboxMap.setStyle(new Style.Builder().fromUri("asset://local_style_file.json"), new Style.OnStyleLoaded() {
                    @Override
                    public void onStyleLoaded(@NonNull Style style) {
                        Toast.makeText(StyleActivity.this, "已切换为本地JSON样式文件", Toast.LENGTH_SHORT).show();
                    }
                });

MapboxMap 之设置 Style_第1张图片

 3.引用自定义的Mapbox托管样式

 //使用自定义的Mapbox托管样式。
mapboxMap.setStyle(new Style.Builder().fromUri("mapbox://styles/mapbox/cj3kbeqzo00022smj7akz3o1e"), new Style.OnStyleLoaded() {
                    @Override
                    public void onStyleLoaded(@NonNull Style style) {
                        Toast.makeText(StyleActivity.this, "已切换为自定义的Mapbox托管样式", Toast.LENGTH_SHORT).show();
                    }
                });

MapboxMap 之设置 Style_第2张图片

 

二、获取Style

  1.持有全局变量

mapboxMap.setStyle(Style.MAPBOX_STREETS, new Style.OnStyleLoaded() {
    @Override
    public void onStyleLoaded(@NonNull Style style) {
      this.style = style;
    }
});

  2.异步获取地图的Style

 mapboxMap.getStyle(new Style.OnStyleLoaded() {
                    @Override
                    public void onStyleLoaded(@NonNull Style style) {

                    }
                });

 

你可能感兴趣的:(MapBoxMap,地图使用指南,android)