ArcGIS Maps :在Vue3中加载ArcGIS地图

Vue3中使用ArcGIS Maps SDK for JavaScript的步骤

一、创建 Vue 3 项目
1、新建ArcGISAPIProject文件夹,并用vscode打开

2、打开终端,在终端中输入npm create vite@latest+项目名称vite-vue3-arcgis,选择vue框架,并选中JavaScript语音创建项目

3、创建成功后,进入vite-vue3-arcgis文件夹,并使用pnpm i 安装依赖

4、安装成功后,输入npm run dev,运行项目查看基础框架是否正常

5、安装 ArcGIS Maps SDK for JavaScript
在终端中输入npm install @arcgis/core 安装ArcGIS Maps SDK for JavaScript

二、创建地图组件
1、在src文件夹下的components文件夹中新建ArcGisMap.vue组件

2、在ArcGisMap.vue组件中的template中新建一个div,设置id属性为viewDiv,作为地图的容器,

3、导入需要的地图模块;要想在容器中展示地图,需要导入ArcGis为我们提供的Map和MapView两个模块

import Map from '@arcgis/core/Map.js';
import MapView from '@arcgis/core/views/MapView.js';

4、在代码中创建Map和MapView对象,并配置相关的参数


<template>
    <div id="viewDiv"></div>
</template>

<script setup lang="ts">
import Map from '@arcgis/core/Map.js';
import MapView from '@arcgis/core/views/MapView.js';
import {
  onMounted,
} from 'vue'

onMounted(()=>{
  initArcGisMap()
})

const initArcGisMap = () => {
  const map = new Map({
    basemap: "streets"
  });

  const view = new MapView({
    center: [-118.80500, 34.02700],
    zoom: 12,
    container: "viewDiv",
    map: map
  });
}
</script>

<style scoped>  
#viewDiv {
  width: 100%;
  height: 100vh; 
}
.esri-ui-inner-container .esri-ui-manual-container{
    display: none;
}
</style>

在这段代码中,我们首先创建了一个名为 map 的地图对象:

通过 new Map() 创建了一个地图实例。
basemap: “streets” 表示该地图使用了ArcGIS为我们提供的streets 底图。
然后,创建了一个名为 view 的地图视图对象:
通过 new MapView() 创建了一个地图视图实例。
center: [-118.80500, 34.02700] 表示地图视图的初始中心点位置,这里设置的是经度和纬度坐标。
zoom: 13 表示地图视图的初始缩放级别,数值越大表示越近的缩放级别。
container: “viewDiv” 表示地图视图将被渲染到具有 viewDiv id 的 HTML 元素中。
map: map 表示该地图视图将使用上面创建的 map 对象作为其地图实例。

5、在App.vue中加载地图组件

<template>
  <ArcGisMap></ArcGisMap>
</template>

<script setup>  
import ArcGisMap from './components/ArcGisMap.vue'
</script>
<style scoped>
</style>
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Vue加载ArcGIS地图服务,您需要使用OpenLayers库。以下是一些步骤: 1. 安装OpenLayers 您需要先安装OpenLayers库。您可以使用npm来安装它,命令如下: ``` npm install ol ``` 2. 导入OpenLayers 在Vue组件,您需要导入OpenLayers库。您可以在组件的script部分添加以下代码: ``` import ol from 'ol' import Map from 'ol/Map' import View from 'ol/View' import TileLayer from 'ol/layer/Tile' import XYZ from 'ol/source/XYZ' ``` 3. 创建地图Vue组件的methods部分,您可以创建一个createMap函数,其包含创建地图的代码。以下是一个示例代码: ``` createMap() { let map = new Map({ target: 'map', view: new View({ center: [0, 0], zoom: 2 }) }); let layer = new TileLayer({ source: new XYZ({ url: 'http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}' }) }); map.addLayer(layer); } ``` 在上面的代码,我们首先创建一个地图对象,然后创建一个瓦片图层,并将其添加到地图对象。在瓦片图层的source属性,我们指定了ArcGIS地图服务的URL。 4. 在模板添加地图Vue组件的template部分,您可以添加一个div元素来显示地图。以下是一个示例代码: ``` <template> <div> <div id="map"></div> </div> </template> ``` 在上面的代码,我们添加了一个id为“map”的div元素,它将用于显示地图。 5. 调用createMap函数 最后,在Vue组件的mounted部分,您可以调用createMap函数来创建地图。以下是一个示例代码: ``` mounted() { this.createMap(); } ``` 在上面的代码,我们在组件挂载后调用createMap函数。 这就是在Vue加载ArcGIS地图服务的基本步骤。您可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值