• 初始化webgis项目


    1.技术路线

    • 前端:vue+sass+axios+webpack
    • 数据接口:node
    • 地图接口:ArcGIS Server
    • 数据库:Sql Server

    2.配置本地SDK 4.10和ArcGIS API 4.10

    2.1 部署nginx

    • 下载nginx

    • 进入解压后文件夹(nginx.exe所在文件夹),输入cmd命令start nginx启动nginx

    2.2 下载SDK和API

    • 百度网盘,提取码(cqlb)

    • 将解压后的arcgis_js_v410_sdk下的sdk文件夹,和arcgis_js_v410_api文件夹中的arcgis_js_api放入nginx文件夹的html中

    2.3 修改文件

    • 修改nginx配置文件conf/nginx.conf
           location /arcgis_js_api {
               root  html;
               add_header	'Access-Control-Allow-Origin' '*';
           }
           location /arcgis_js_sdk {
               root  html;
               add_header	'Access-Control-Allow-Origin' '*';
           }
    
    
    • 修改API地址文件

      • 修改 文件arcgis_js_apilibrary4.10init.js

        [HOSTNAME_AND_PATH_TO_JSAPI]替换成localhost:8080/arcgis_js_api/library/4.10/

      • 修改文件:arcgis_js_apilibrary4.10dojodojo.js

        [HOSTNAME_AND_PATH_TO_JSAPI]替换成localhost:8080/arcgis_js_api/library/4.10/

    3 初始化Vue项目

    3.1 准备

    • 安装 node
    • 安装 vue: npm install vue -g
    • 安装 vue-cli: npm install vue -cli -g

    3.2 初始化

    $ vue init webpack first-test-vue // 初始化命令
    ? Project name first-test-vue // 项目名称
    ? Project description A Vue.js project // 项目描述
    ? Author NathanYang // 作者
    ? Vue build standalone  // 独立构建
    ? Install vue-router? Yes  // 安装路由
    ? Use ESLint to lint your code? Yes  // 安装 ESLint 代码检测工具
    ? Pick an ESLint preset Standard
    ? Setup unit tests with Karma + Mocha? Yes
    ? Setup e2e tests with Nightwatch? No // 端到端测试
    

    3.3 目录结构

    目录/文件说明
    build 项目构建(webpack)相关代码
    config 配置目录,包括端口号代理等
    node_modules npm 加载的项目依赖模块
    src 这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件:assets: 放置一些图片,如logo等。components: 目录里面放了一个组件文件,可以不用。App.vue: 项目入口文件,我们也可以直接将组件写这里,而不使用 components 目录。main.js: 项目的核心文件。
    static 静态资源目录,如图片、字体等。
    test 初始测试目录,可删除
    .xxxx文件 这些是一些配置文件,包括语法配置,git配置等。
    index.html 首页入口文件,你可以添加一些 meta 信息或统计代码啥的。
    package.json 项目配置文件。
    README.md 项目的说明文档,markdown 格式

    3.4 安装包

    • esri-loader: 一个小型库,可帮助在非Dojo应用程序中加载ArcGIS API for JavaScript模块

      npm install --save esri-loader

    • Sass: Sass 是对 CSS 的扩展,让 CSS 语言更强大、优雅。 它允许你使用变量、嵌套规则、 mixins、导入等众多功能, 并且完全兼容 CSS 语法

      npm install --save-dev sass-loader

      npm install --save-dev node-sass

    3.5 项目配置

    • 自动打开浏览器:修改config/index.js autoOpenBrowser:falseautoOpenBrowser:true
    • 热启动: 修改呢config.json 在scripts/dev/webpack-dev-server 后添加--hot

    4 搭建第一个地图

    4.1 引入组件

    1、App.vue引入css文件,对应本地部署的路径.
    @import url('http://localhost:8080/arcgis_js_api/library/4.10/esri/themes/light/main.css');

    2、通过esriLoader的loadModules方法引入ArcGIS中模块

          const options = { 
            url: 'http://localhost:8080/arcgis_js_api/library/4.10/dojo/dojo.js'
          }
          esriLoader.loadModules([
              'esri/Map',
              'esri/views/MapView',
          ],options).then(([Map,MapView])=>{
              this.Map=Map;
              this.MapView=MapView;
          }).catch(error => console.log(error))
    

    3、初始化地图

          let _this = this; 
          // 初始化地图
          this.currentMap = new this.Map({
            basemap: 'streets'
          });
          this.currentView = new this.MapView({
            map: _this.currentMap,
            container: "map",
            center: [121.256151, 31.328742],
            zoom: 18
          });
          this.currentView.ui.remove("attribution");
    

    4、生成地图
    在这里插入图片描述

  • 相关阅读:
    openstack官方指导书
    获取当前日期时间并格式化
    获取url中的参数
    页签切换
    app开屏广告
    开发接口文档--本接口文档是读取控制器方法上的注释自动生成的
    bzoj 1491: [NOI2007]社交网络
    bzoj 3996: [TJOI2015]线性代数
    5.6水题合集
    bzoj 3528: [Zjoi2014]星系调查
  • 原文地址:https://www.cnblogs.com/asdlijian/p/13514191.html
Copyright © 2020-2023  润新知