diff --git a/src/components/Data/Layer/WorkspaceVectorLayerListingItem.vue b/src/components/Data/Layer/WorkspaceVectorLayerListingItem.vue index adca059..1182afc 100644 --- a/src/components/Data/Layer/WorkspaceVectorLayerListingItem.vue +++ b/src/components/Data/Layer/WorkspaceVectorLayerListingItem.vue @@ -5,18 +5,28 @@ {{ cleanLayerName }} - {{ layerDetail.featureType.abstract }} + {{ layerDetail.featureType.abstract + }} - Keywords: + Keywords: - + Data Type: {{ dataType }} + + Access Token: + + + Add to map @@ -55,6 +65,7 @@ const cleanLayerName = computed(() => { const geoserver = useGeoserverStore() const layerDetail = ref() const layerStyling = ref() +const token = ref("") geoserver.getLayerInformation(props.item, props.workspace).then((response) => { // Currently we are just picking styles which has include mbstyle in name. Further optimization needed after some period // TODO: remove mbstyle selector @@ -112,7 +123,8 @@ function add2Map(): void{ workspaceName:props.workspace, layer:layerDetail.value!, sourceDataType:"vector", - sourceProtocol:"wmts" + sourceProtocol: "wmts", + token:token.value } mapStore.addMapDataSource(sourceParams).then(() => { if (!isNullOrEmpty(dataType) && !isNullOrEmpty(layerDetail.value)) { diff --git a/src/store/map.ts b/src/store/map.ts index 0a473d7..1226df8 100644 --- a/src/store/map.ts +++ b/src/store/map.ts @@ -76,6 +76,7 @@ export interface GeoServerSourceParams extends BaseDataSourceParams { layer: GeoServerVectorTypeLayerDetail|GeoserverRasterTypeLayerDetail; sourceDataType: "vector" | "raster"; sourceProtocol?: "wms" | "wmts"; + token?: string; } export interface GeoJSONSourceParams extends BaseDataSourceParams { sourceType: "geojson"; @@ -198,19 +199,23 @@ export const useMapStore = defineStore("map", () => { } if (params.sourceDataType === "vector") { map.value.addSource(identifier, { - type: "vector", - tiles: [ - `${import.meta.env.VITE_GEOSERVER_BASE_URL}/gwc/service/wmts + type: "vector", + tiles: [ + `${import.meta.env.VITE_GEOSERVER_BASE_URL}/gwc/service/wmts ?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0 - &LAYER=${params.workspaceName}:${(params.layer as GeoServerVectorTypeLayerDetail).featureType.name} + &LAYER=${params.workspaceName}:${ + (params.layer as GeoServerVectorTypeLayerDetail).featureType + .name + } &STYLE= &TILEMATRIX=EPSG:900913:{z} &TILEMATRIXSET=EPSG:900913 &TILECOL={x} &TILEROW={y} - &format=application/vnd.mapbox-vector-tile`, - ], - }); + &format=application/vnd.mapbox-vector-tile + &access_token=${params.token}`, + ], + }); } } }