MapboxMap 展示Amap地图
MapBox添加切片图源
本文中 Amap切片图源 来源于网络。目的为学习研究!如果商用请注意版权问题。
功能实现主要借助RasterSource与RasterLayer。
RasterSource
栅格源,允许使用栅格图块作为源。
/**
* Create the raster source from a {@link TileSet} with a specific tile size
*
* @param id the source id
* @param tileSet the {@link TileSet}
* @param tileSize tje tile size
*/
public RasterSource(String id, TileSet tileSet, int tileSize) {
super();
initialize(id, tileSet.toValueObject(), tileSize);
}
RasterLayer
栅格地图纹理,例如卫星图像。
展示Amap地图
mapView.getMapAsync(mapboxMap -> {
mapboxMap.setStyle(styleMapBox, style -> {
style.addSource(new RasterSource(
"a-map-source",
new TileSet("tileset", getAmapUrl()), 256));
//使用上面创建的源创建RasterLayer,然后将图层添加到地图
style.addLayer(new RasterLayer("a-map-layer", "a-map-source"));
});
});
/**
* // wprd0{1-4} Amap地图使用了四个服务地址
* // scl=1&style=7 为矢量图(含路网和注记)
* // scl=2&style=7 为矢量图(含路网但不含注记)
* // scl=1&style=6 为影像底图(不含路网,不含注记)
* // scl=2&style=6 为影像底图(不含路网、不含注记)
* // scl=1&style=8 为影像路图(含路网,含注记)
* // scl=2&style=8 为影像路网(含路网,不含注记)
*/
private String getAmapUrl() {
return "http://wprd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scl=1&style=7&x={x}&y={y}&z={z}";
}
这就完成了,加载时需要网络,注意缩放级别已经移动到中国查看
上图
注意左下角mapbox的标志: