<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"/>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
#topbar {
padding: 10px;
}
.action-button {
font-size: 14px;
height: 32px;
margin-top: 10px;
border: 1px solid #0079c1;
color: #0079c1;
}
.action-button:hover {
background: #0079c1;
color: #e4e4e4;
}
</style>
<link rel="stylesheet" href="https://js.arcgis.com/4.19/esri/themes/light/main.css"/>
<script src="https://js.arcgis.com/4.19/"></script>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/VectorTileLayer",
'esri/layers/WebTileLayer',
], (Map, MapView, VectorTileLayer,WebTileLayer) => {
let tiandituBaseUrl = "http://{subDomain}.tianditu.com"; //天地图服务地址http://t0.tianditu.gov.cn/ibo_w/wmts?
let token = " "; //天地图token
const map = new Map();
const view = new MapView({
container: "viewDiv",
map: map,
center: [38.5795, 39.8282],
zoom: 2
});
//影响图注记
let tiledLayer3 = new WebTileLayer({
urlTemplate: tiandituBaseUrl + "/DataServer?T=cia_w&x={col}&y={row}&l={level}&tk=" + token,
subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
title:"天地图加载"
});
//矢量图注记
let tiledLayer4 = new WebTileLayer({
urlTemplate: tiandituBaseUrl + "/DataServer?T=cva_w&x={col}&y={row}&l={level}&tk=" + token,
subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
title:"天地图加载"
});
document.getElementById("paintButton").addEventListener("click", () => {
const paintProperties = vtLayer.getPaintProperties("Marine area/1");
debugger
paintProperties["fill-color"] = paintProperties["fill-color"] == "#93CFC7" ? "#0759C1" : "#93CFC7";
vtLayer.setPaintProperties("Marine area/1", paintProperties);
});
const vtLayer = new VectorTileLayer({
style: {
layers: [
{
layout: {},
paint: {
"fill-color": "#00182B"
// "fill-color": "#fff"
},
source: "esri",
minzoom: 0,
"source-layer": "Land",
type: "fill",
id: "Land/0"
},
{
layout: {},
paint: {
"fill-pattern": "Landpattern",
"fill-opacity": 0.25
},
source: "esri",
minzoom: 0,
"source-layer": "Land",
type: "fill",
id: "Land/1"
},
{
layout: {},
paint: {
"fill-color": "#002E45"
},
source: "esri",
minzoom: 0,
"source-layer": "Marine area",
type: "fill",
id: "Marine area/1"
},
{
layout: {},
paint: {
"fill-pattern": "Marine area",
"fill-opacity": 0.08
},
source: "esri",
"source-layer": "Marine area",
type: "fill",
id: "Marine area/2"
},
{
layout: {
"line-cap": "round",
"line-join": "round"
},
paint: {
"line-color": "#525253",
"line-dasharray": [7, 5.33333],
"line-width": 1
},
source: "esri",
minzoom: 1,
"source-layer": "Boundary line",
type: "line",
id: "Boundary line/Admin0/0"
},
{
layout: {
"text-font": ["Risque Regular"],
"text-anchor": "center",
"text-field": "{_name_global}"
},
paint: {
"text-halo-blur": 1,
"text-color": "#AF420A",
"text-halo-width": 1,
"text-halo-color": "#f0efec"
},
source: "esri",
"source-layer": "Continent",
type: "symbol",
id: "Continent"
},
{
layout: {
"text-font": ["Atomic Age Regular"],
"text-field": "{_name}",
"text-transform": "none"
},
paint: {
"text-halo-blur": 1,
"text-color": "#AF420A",
"text-halo-width": 1,
"text-halo-color": "#f0efec"
},
source: "esri",
minzoom: 2,
"source-layer": "Admin0 point",
maxzoom: 10,
type: "symbol",
id: "Admin0 point/large"
}
],
glyphs:
// "https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/{fontstack}/{range}.pbf",
"",
version: 8,
sprite:
"https://cdn.arcgis.com/sharing/rest/content/items/5e9b3685f4c24d8781073dd928ebda50/resources/sprites/sprite",
sources: {
esri: {
url:
"https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer",
type: "vector"
}
}
}
});
map.add(vtLayer);
map.add(tiledLayer3);
view.ui.add("topbar", "top-right");
});
</script>
</head>
<body>
<div id="viewDiv">
<div id="topbar" class="esri-widget">
<button class="action-button" id="paintButton" type="button" title="Change water fill color">
改变海洋颜色
</button>
</div>
</div>
</body>
</html>
自定义arcgis 底图配色
最新推荐文章于 2024-05-21 11:15:34 发布