Arcgis入门篇(地图标点图形)

        在学习了创建地图后,应该对之前的代码有了大致的了解。话不多说直接上代码块。

创建一个标记点的视图层:

    const graphicsLayer = new this.GraphicsLayer()
    this.MAP.add(graphicsLayer)
    this.graphicsLayer = graphicsLayer

 删除已有的标记点的视图层(是否需要删除原来的点):

this.graphicsLayer && this.graphicsLayer.removeAll()

直接标点:
 

  /**
   * 绘制图形层上的单个点
   * 添加 Graphics
   * @param {Object} maker { url:string, height:number, width:number, offect: array ,location:array }
   */  
addGraphicPoint(maker = {}) {
    this.graphicsLayer && this.graphicsLayer.removeAll()
    const graphicsLayer = new this.GraphicsLayer()
    this.MAP.add(graphicsLayer)
    this.graphicsLayer = graphicsLayer
    // 设置图形的样式
    const pictureMarkerSymbol = new this.PictureMarkerSymbol({
      url: maker.url || "esriImg/bd-xz.png",
      height: maker.height || 15,
      width: maker.width || 14,
      xoffset: maker.offect ? maker.offect[0] : 0,
      yoffset: maker.offect ? maker.offect[1] : 0
    })
    // // 设置图形的位置
    // 将图形的样式和位置放在Graphic里面
    const point = new this.Point({
      x: maker.location.longitude,
      y: maker.location.latitude
    })
    const graphic = new this.Graphic({
      symbol: pictureMarkerSymbol,
      geometry: point
    })
    this.graphicsLayer.add(graphic)
  }

点击地图标点:

      // 地图
      this.$nextTick(async() => {
        this.map = new ArcgisUtil(this.$refs.aicgisMap)
        try {
          this.Map = await this.map.init()
          this.Map.map.on('click', extent => {
            this.map.addGraphicPoint({
              url: require('@/assets/imgs/position.png'),
              height: 36,
              width: 36,
              offect: [0, 12],
              location: {
                latitude: extent.mapPoint.latitude,
                longitude: extent.mapPoint.longitude
              }
            })
          })
        } finally {
          // this.initData()
        }
      })

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值