ArcGis for javascript 绘制自定义图标、绑定点击事件!!!

效果图

在这里插入图片描述
在线预览

前言

项目中需要使用 ArcGis 来实现地图功能,至于为什么不适用百度、高德,是因为据说 ArcGis 定位会准一点。初次接触 Arcgis for javascript,踩坑之路很舒服,写下来记录下,也希望能够帮到需要的人。

js

基础的入门代码大家可以直接粘贴 ArcGis for javascript 绘制线!!! 中的例子,这里不做赘述。

// 创建图形点
const pointGraphic = new Graphic({
  geometry: {
    type: 'point',
    // 点的位置
    longitude: 117.129359,
    latitude: 31.839979
  },
  symbol: {
    // 类型有 图片标记 和 点
    type: 'picture-marker',
    // 图片地址,可以网络路径或本地路径(PS:base64亦可)
    url: require('@/assets/img/view-start.png'),
    // 图片的大小
    width: '32px',
    height: '48px'
  },
  attributes: {
    Foo: 'Hello world!'
  }
})

// 将图形添加到视图的图形层
this.view.graphics.addMany([pointGraphic])

// 给 “地图视图” 绑定点击事件
this.view.on('click', e => {
  // hitTest 方法在点击位置上如果存在 Graphic(线或点),即可获取 Graphic 对象的整个数据
  this.view.hitTest(e)
    .then(res => {
      if (res.results.length) {
        // 获取每个图形上的ID
        this.$message.info(JSON.stringify(res.results[0].graphic.attributes))
      }
    })
})

核心要点

PictureMarkerSymbolSymbol 对象的一个类型,可以指定一个 url 用于在该点上绘制自定义图标。
hitTest 方法返回一个 Promise,返回与指定屏幕坐标相交的每个图层中最顶层的要素(PS:官方原话)。
源码地址

参考

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帝尊菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值