vue 加载天地图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<template>
  <div id="viewDiv"></div>
</template>
  
<script>
import { loadModules } from "esri-loader";
 
export default {
  data() {},
  methods: {
    //创建地图
    createMapView: function () {
      const options = {
        url: " /api/arcgis/API/4.15/init.js",
        css: "/api/arcgis/API/4.15/esri/themes/light/main.css",
      };
      // esriConfig.request.corsEnabledServers.push("localhost:80/arcgis/API/4.15/")
      loadModules(
        ["esri/Map", "esri/views/MapView", "esri/layers/WebTileLayer"],
        options
      )
        .then(([Map, MapView, WebTileLayer]) => {
          var tiledLayer = new WebTileLayer({
            urlTemplate:
              "http://{subDomain}.tianditu.gov.cn/DataServer?T=vec_w&x={col}&y={row}&l={level}&tk=aeae35f8750027dc9790a7437c5ec3c0",
            subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
          });
 
          var tiledLayer_poi = new WebTileLayer({
            urlTemplate:
              "http://{subDomain}.tianditu.gov.cn/DataServer?T=cva_w&x={col}&y={row}&l={level}&tk=aeae35f8750027dc9790a7437c5ec3c0",
            subDomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
          });
 
          var map = new Map({
            basemap: {
              baseLayers: [tiledLayer, tiledLayer_poi],
            },
          });
 
          var view = new MapView({
            container: "viewDiv",
            map: map,
            zoom: 12,
            center: [116.402544, 39.915599],
          });
 
          //   view.ui.components = []; //清除掉地图左上角默认的缩放图标
        })
        .catch((err) => {
          this.$message("地图创建失败," + err);
        });
    },
  },
  mounted: function () {
    this.createMapView();
  },
};
</script>
  
<style>
#viewDiv {
  position: absolute;
  width: 100%;
  height: 100%;
}
</style>

  需要esri-loader(npm i esri-loader--save-dev)

  tk:去天地图注册,创建浏览器端应用即可获得

  /api/为http://localhost:80/,解决跨域

  t0-t7:天地图地图服务二级域名

参考

posted @   季夏啸华  阅读(1300)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示