Rasterlag
Leggðu hvaða XYZ-flísasafn sem er yfir kortið með því að gefa vefslóðarsniðmát — utanaðkomandi flísar á borð við GSI-kort Japans virka óbreyttar.
01 · Notkun
Gefðu vefslóðarsniðmát sem uppsprettu. Ógegnsæi og aðdráttarsvið eru stýrð á laginu.
val rasterLayerState = RasterLayerState(
id = "gsi-raster",
source = RasterLayerSource.UrlTemplate(
template = "https://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png",
tileSize = 256,
minZoom = 5,
maxZoom = 15,
),
opacity = 0.75f,
)
MapLibreMapView(state = mapState) {
RasterLayer(rasterLayerState)
}@StateObject private var layerState = RasterLayerState(
source: .urlTemplate(
template: "https://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png",
tileSize: 256,
minZoom: 5,
maxZoom: 15
),
opacity: 0.75,
id: "gsi-raster"
)
MapLibreMapView(state: mapState) {
RasterLayer(state: layerState)
}import { RasterLayerSource, createRasterLayerState } from '@mapconductor/js-sdk-core';
import { RasterLayer } from '@mapconductor/js-sdk-react';
const state = useMemo(() => createRasterLayerState({
id: 'gsi-raster',
source: RasterLayerSource.UrlTemplate({
template: 'https://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png',
tileSize: 256,
minZoom: 5,
maxZoom: 15,
attributionRules: [...GSI_RELIEF_ATTRIBUTION_RULES],
}),
opacity,
}), [opacity]);
<RasterLayer state={state} />02 · Valkostir
03 · Stuðningur við hausa
Flísarnar eru sóttar af korta-SDK hvers þjónustuaðila, og hvort það býður krók til að endurskrifa beiðnina er misjafnt eftir SDK-inu. Þar sem enginn krókur er eru gildin hunsuð og viðvörun skráð á keyrslutíma. Taflan hér að neðan endurspeglar það sem raunverulega sást með því að taka við flísabeiðnunum (á tæki fyrir innbyggt, í vafra fyrir vef).
Á vefnum hefur userAgent engin áhrif hjá neinum þjónustuaðila: vafrar banna að User-Agent sé skrifað yfir og ekkert SDK kemst fram hjá því. Eigindin er eftir vegna React Native, þar sem gildið berst til innbyggða SDK-sins og tekur raunverulega gildi — svo sami einingakóði keyrir bæði á vef og í RN.
Ef flísaþjónninn þinn krefst hausa, veldu þjónustuaðila sem styður þá. Þjónustuaðila án stuðnings má samt nota þegar teiknið kemst með sem breyta í vefslóðinni.
04 · Sýnidæmi
GSI-flísar
Sýnidæmið skiptir milli skyggingarkorts og staðalkorts GSI með gegnsæissleða; heimildatextinn skiptist sjálfkrafa gegnum attributionRules.
var opacity by remember { mutableFloatStateOf(0.75f) }
var relief by remember { mutableStateOf(true) }
val layerState = remember { RasterLayerState(id = "gsi-raster") }
// Both source and opacity can be reassigned; the layer is not rebuilt
LaunchedEffect(relief, opacity) {
layerState.source = RasterLayerSource.UrlTemplate(
template = if (relief) {
"https://cyberjapandata.gsi.go.jp/xyz/relief/{z}/{x}/{y}.png"
} else {
"https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png"
},
tileSize = 256,
minZoom = 5,
maxZoom = 15,
)
layerState.opacity = opacity
}
MapLibreMapView(state = mapViewState) {
RasterLayer(layerState)
}
Slider(value = opacity, onValueChange = { opacity = it })
Switch(checked = relief, onCheckedChange = { relief = it })