Angular2+中使用angular2-esri-loader加载ArcGIS JS API(当前官方已弃用)

###安装环境
使用esri-load1.0版本加载,更高版本已经弃用angular2-esri-loader,直接使用esri-loader加载,代码详见npm esri-loader

npm install --save angular2-esri-loader@1.0.0 
npm install --save esri-loader@1.0.0

###在module中引入EsriLoaderService

i

mport { EsriLoaderService } from 'angular2-esri-loader';

@NgModule({
 …
	providers: [
		EsriLoaderService,
		…
	],
…
})

###在index.html中引入ArcGIS JS API的样式

<link rel="stylesheet" type="text/css" href="http://localhost:8080/arcgis_js_api/library/3.20/3.20/dijit/themes/tundra/tundra.css"/>
<link rel="stylesheet" type="text/css" href="http://localhost:8080/arcgis_js_api/library/3.20/3.20/esri/css/esri.css" />

###配置相关的ArcGIS JS文件

//配置arcgis api
在index.html中配置dojoconfig(包含了开发需要的js路径)
<script>
  var dojoConfig = {  
    parseOnLoad:false,  
    packages: [
      {  
         "name": "bism",
         "location": "/assets/gis" 
      }
    ]  
  }; 
</script>

###创建承载地图的组件esriMap

ng g c esriMap

###在esri-map.component.html 中设置地图容器

<div id='mapDiv'></div>

###在esri-map.compontent.ts中的实现

import { Component, OnInit } from '@angular/core';
//导入服务
import {EsriLoaderService} from 'angular2-esri-loader'

@Component({
  selector: 'app-esri-map',
  templateUrl: './esri-map.component.html',
  styleUrls: ['./esri-map.component.css']
})
export class EsriMapComponent implements OnInit {
  //地图对象
  map: any;
  constructor(private esriLoaderService:EsriLoaderService) { }

  ngOnInit() {
    return this.esriLoaderService.load({
      //ArcGIS API地址
      url:"http://localhost:8080/arcgis_js_api/library/3.20/3.20/init.js"
    }).then(()=>{
      this.esriLoaderService.loadModules([
        "esri/map",
        "esri/layers/ArcGISDynamicMapServiceLayer"
      ]).then(([Map,ArcGISDynamicMapServiceLayer])=>{
        this.map = new Map("mapDiv");
        let layerUrl = new ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/SampleWorldCities/MapServer");
        this.map.addLayer(layerUrl);
      })
    })
  }

}

###将esri-Map组件添加到跟组件 app.component.html中

<app-esri-map></app-esri-map>

###运行项目查看

ng serve -o

###结果

这里写图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值