1.1前言
本人gis新手一枚,最近在学习arcgis api for js 4.12版本的使用,以下例子是加载自己本地计算机发布的切片服务。
1.2栗子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>server图层加载成功事例</title>
</head>
<style>
body,html,#viewDiv{
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
<script src="http://localhost:88/arcgis_js_api_4.12/library/4.12/dojo/dojo.js"></script>
<link rel="stylesheet" href="http://localhost:88/arcgis_js_api_4.12/library/4.12/esri/themes/light/main.css">
<body>
<div id="viewDiv"></div>
</body>
<script>
require(["esri/Map",
"esri/views/MapView",
"esri/layers/TileLayer",
"esri/Basemap",
"esri/layers/FeatureLayer"], function(Map, MapView,TileLayer,Basemap,FeatureLayer) {
var layer = new FeatureLayer({
url:"https://localhost:6443/arcgis/rest/services/项目2中国境界/中国境界服务/MapServer",
});
var customBasemap = new Basemap({
baseLayers:[layer],
});
var map = new Map({
basemap: customBasemap,
});
var view = new MapView({
container: "viewDiv",
map: map,
zoom: 4,
center: [15, 65]
});
});
</script>
</html>
1.3栗子解析
(1)新建要素图层-Featurelayer
var layer = new FeatureLayer({
url:"https://localhost:6443/arcgis/rest/services/项目2中国境界/中国境界服务/MapServer",
});
在新建的要素图层里放置自己的本地切片服务地址。
(2)新建一个底图-Basemap,并将含本地服务的要素图层放入该底图
var customBasemap = new Basemap({
baseLayers:[layer],
});
(3)新建一个Map对象,将其底图设置为含本地服务的底图
var map = new Map({
basemap: customBasemap,
});
(4)定义Map对象的视角
var view = new MapView({
container: "viewDiv",
map: map,
zoom: 4,
center: [15, 65]
});
因为本地服务的切片是二维的,所以使用二维视图MapView.
1.4运行结果
(1)本地切片
(2)运行结果