美文网首页
ArcGis for JavaScript 之 加载TileLa

ArcGis for JavaScript 之 加载TileLa

作者: 我叫傻先生 | 来源:发表于2018-07-06 15:39 被阅读0次
    说明:
    • 1.本文主要记录自己这段时间使用Arcgis for JavaScript的一些总结,其中包括如何调用,如何在前端页面进行对数据的查询,不同符号渲染,小部件,等相关内容
    • 2.将使用官网提供的数据,后期可能自己发布相应的服务辅助
    • 3.前面已有一篇文章介绍了Arcgis产品体系,以及我们前端需要用到的离线部署,这里就不赘述了。
    • 4.本次示例基于Vue框架,Arcgis for JavaScript API版本4.6
    • 项目Git地址
    一、理解图层

    把图层想象成几张透明的塑料膜,你在上面画画,第一张一个房子,第二张一棵树,第三张一个人,然后画完之后你把它们叠在一起,一幅画就出来了。

    同样的地图的图层也是这个道理,虽然在ArcGis for JavaScript中他对图层的类型进行了不同分类,比如:TileLayer,FeatureLayer,CSVLayer,ImageryLayer...,但是实际上是离不开上述的那个原理,这些图层都会带有不同的数据,但是都是把这些图层一层一层的叠加起来,然后再展示给我们或者用户。

    • 创建TileLayer图层
    loadModules(['esri/Map', 'esri/views/MapView', 'esri/layers/TileLayer', 'dojo/domReady!'], option)
      .then(([Map, MapView, TileLayer]) => {
        let tileLayer = ServiceUrl.tileLayer.map(item => {
          return new TileLayer({ // 可配置属性,见TileLayer类
            id: item.id,
            url: item.url
          })
        })
        this.map = new Map({
          layers: tileLayer
        })
        this.view = new MapView({
          container: this.$refs.baseMap, // 视图的容器
          map: this.map, // Map的实例放入视图中
          center: [104.06, 30.67], // 初始显示的地图中心点,经纬度
          zoom: 10 // 当前地图缩放等级
        })
        console.log(this.view)
        console.log(this.map)
      })
      .catch(err => {
        console.log(err)
      })
    

    这里没有使用Map的baseMap属性,而是使用的layers属性,其实也是在给Map加入新的图层。输出的当前Map如下:

    [图片上传失败...(image-c2fe3-1530862763905)]

    1 可以知道实际上layer就是Map这个类的一个属性值,且可以是多个layer的集合

    2 如果需要操作图层,可以从Map中获取到图层,然后进行一些相关操作(移除,添加,显示,隐藏等)

    相关文章

      网友评论

          本文标题:ArcGis for JavaScript 之 加载TileLa

          本文链接:https://www.haomeiwen.com/subject/thcbuftx.html