许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  React中使用esri-loader:集成Esri地图的完整指南

React中使用esri-loader:集成Esri地图的完整指南

阅读数 15
点赞 0
article_banner

一、前言

   随着前端的发展, 框架  的选择也越来越多,arcgis js api 在集成到React 中也是提供了良好的适配通过esri-loader。

二、使用

    首先要先引入 esri样式

<!DOCTYPE html><html lang="en">  <head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">      <title>react+arcgis api</title>    <link rel="stylesheet" href="https://js.arcgis.com/4.10/esri/css/main.css">  </head>  <body>    <div id="root"></div>  </body></html>

安装 esri-loader

npm install --save esri-loader或者yarn add esri-loader

esri-loader简单封装

import esriLoader from 'esri-loader'; window.apiRoot = 'https://js.arcgis.com/4.10/'; //可以写在项目的配置文件里//可以写在项目的配置文件里window.dojoConfig = {  async: true,   // for jsapi ver. >= 4.9 兼容浏览器  deps: ['@dojo/framework/shim/main'],   // for jsapi ver. <= 4.8  // deps: ['@dojo/shim/main'],  packages: [    // {    // name: 'sample',    // location: 'sample/demo'        // },  ],  has: {    'esri-promise-compatibility': 1, // Use native Promises by default    'esri-featurelayer-webgl': 1, // Enable FeatureLayer WebGL capabilities  }}; function configEsriLoader() {  esriLoader.utils.Promise = Promise;    } export function load(modules) {  configEsriLoader();  return esriLoader.loadModules(modules, {    dojoConfig: window.dojoConfig,    url: window.apiRoot,  });}

使用示例

import * as jsapi from './jsapi'; ... async function initMap(){   const [Map,Mapview] = await jsapi.load([ "esri/Map","esri/views/MapView"]);   var map = new Map({        basemap: "streets"      });       var view = new MapView({        container: "viewDiv",        map: map,        zoom: 4,        center: [15, 65] // longitude, latitude    });}...

由于 esri-loader是异步加载,需要用到 async/await异步操作来执行,保证请求加载完整。

esri中国也提供了一套基于React+dva+umi的脚手架,附 链接  如下,可以参考学习哦~

https://github.com/esrichina/geomap


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空