使用 iClient Vue MapboxGL 浏览 iPortal 地图

发送反馈


iClient Vue-MapboxGL 是基于 MapboxGL  的 Vue 组件库,支持如下三种安装方式:

本示例将以通过 npm 在线安装类库进行模块化开发的方式介绍如何使用 iClient Vue MapboxGL 访问 iPortal 中的地图资源。在着手开发前,本文假定您已具备 VueNode.js 的相关基础知识。

使用 iClient Vue-MapboxGL 组件浏览 iPortal 地图的基本流程如下:

1. 搭建开发环境;

2. 安装 iClient Vue-MapboxGL 库;

3. 编写功能代码;

4. 最后在浏览器中查看运行效果。

 

第一步:搭建开发环境

在进行开发前,请安装好 Node.js 环境,我们推荐您安装 v10 及以上版本的 Node.js。

安装 Node.js 后,运行如下命令安装 Vue CLI,Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,我们将使用它新建一个 Vue 项目:

npm install -g @vue/cli

安装成功后,运行以下命令以创建一个 Vue 项目,其中项目名称可自定义:

vue create components_webmap_vue

创建的 Vue 工程的关键文件及目录结构介绍如下:

以上便完成了开发环境的搭建。

第二步:安装 iClient Vue-MapboxGL 库

进入到创建的 Vue 工程目录中,运行以下命令安装 Vue-iClient-MapboxGL:

npm install @supermap/vue-iclient-mapboxgl

第三步:编写功能代码

打开 src/main.js 文件,写入以下内容以引入 Vue-iClient-MapboxGL:

import VueiClient from '@supermap/vue-iclient-mapboxgl';

Vue.use(VueiClient);

打开 src/App.vue 文件,写入以下内容:

<template>

  <div id="app">

    <sm-web-map

      server-url="https://iportal.supermap.io/iportal"

      map-id="801571284"

      @load="mapLoaded"

    ></sm-web-map>

  </div>

</template>

<script>

export default {

  methods: {

    mapLoaded(e) {

      this.map = e.map;

      console.log(this.map);

    }

  }

};

</script>

<style>

#app {

  height: 100%;

}

</style>

上述代码完成了访问在线站点: https://iportal.supermap.io/iportal 中 id 为 801571284 的地图(地图详情)。

第四步:在浏览器中查看地图

在工程根目录下(本示例中为 components_webmap_vue 目录)运行如下命令,启动项目:

npm run serve

打开浏览器,访问 http://localhost:8080,即可看到如下运行效果:

 

第五步:发布 Web GIS 项目。所有功能开发完成后,您可通过如下命令对 Vue 项目进行打包:

npm run build

之后,您可以将打包后的项目发布到 Tomcat 等中间件进行部署,以 http 协议访问功能。具体过程因不是本示范的重点,请自行查阅相关资料。