有个需求,动态切换地图切片风格,切换中心点设置。
秉着好记性不如烂笔头的心态,在此记录一下。
直接上代码:
setGISCenter(params = {}) {
// 这里是设置图层的url,
if(params && params.centerInfo && params.centerInfo.url) {
this.customTileLayer.config({urlTemplate: params.centerInfo.url});
}
// 这里是设置地图中心点与底图层级
if(params && params.centerInfo && params.centerInfo.lat && params.centerInfo.lng) {
let view = {
center: [Number(params.centerInfo.lng), Number(params.centerInfo.lat)]
}
if (params.centerInfo.zoom) {
let mapZoom = parseInt(params.centerInfo.zoom);
if (mapZoom > 18) {
mapZoom = 18;
}
if (mapZoom < 1) {
mapZoom = 1;
}
view.zoom = mapZoom;
}
this.map.setView(view);
}
},
this.customTileLayer = new this.maptalks.TileLayer(
`defaultLayer`,
tileOption
);
this.map = new this.maptalks.Map("id_map_mtk", mapOptions);