VUE集成高德地图自定义Marker图标及事件

在项目中需要利用Marker对地图位置进行自定义标记,想使用自己的图标,并在点击Marker时需要弹出框显示对象信息,并且做后续自定义的操作。高德地图上自定义单位Marker有介绍,但自定义多个使用的方法不是一样,并且直接用vue的el组件生成Marker后续操作时多个Marker传递marker的序号有问题,导致信息窗口显示不正常。这个坑到处找资料,花了整整2天才全部搞定。一、需求根据用户...
摘要由CSDN通过智能技术生成

在项目中需要利用Marker对地图位置进行自定义标记,想使用自己的图标,并在点击Marker时需要弹出框显示对象信息,并且做后续自定义的操作。

高德地图上自定义单位Marker有介绍,但自定义多个使用的方法不是一样,并且直接用vue的el组件生成Marker后续操作时多个Marker传递marker的序号有问题,导致信息窗口显示不正常。这个坑到处找资料,花了整整2天才全部搞定。

一、需求

根据用户自已定信的对象,在地图上显示,对象是具有地图属性的业务对象,为了区分业务对象,不同的业务对象在地图上想显示不同的Marker图标。点南击图标Marker弹出窗口,进一步显示更多属性信息,和相应的操作。

二、准备

定义了一个地衅组件,增加了Marker标记,弹出信息窗两个子组件。Markers组由于不能传递Marker的序号,该序号用于决定哪个信息窗显示不成功,放弃了此方法,直接在程序中生成marker

<el-amap class="amap-box"
             :amap-manager="amapManager"
             :vid="'amap-vue'"
             :zoom="zoom"
             :plugin="plugin"
             :center="center"
             :events="events"
    >
      <!-- 景区标记 -->
      <!--      <el-amap-marker v-for="(marker) in markers"
                            :position="marker.position"
                            :index="marker.index"
                            :icon="scenicIcon"
                            :events="marker.events">
            </el-amap-marker>-->

    </el-amap>

三、生成多个景区标记(Markers)

1、自定义图标:

图标放在阿里云的OSS上的,起初上放在程序的assets目录,由于是在高德地图中嵌入使用,搞了半天都不成功,看高德地图的官方资料,也是使用全名称路径,没办法,改到OSS上用全路径搞成功了。此处定义了景区和景点两图标备后面使用

scenicIcon: new AMap.Icon({
   
  size: new AMap.Size(35, 35),    // 图标尺寸  image: process.env.VUE_APP_OSS_PREFIX + 'icon/sceni
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue高德地图区域绑定信息窗是指在Vue组件中使用高德地图API实现区域与信息窗口的绑定功能。 首先,我们需要安装并引入高德地图JavaScript API库。可以使用npm安装或者通过CDN引入。然后,在Vue组件的mounted钩子函数中初始化地图实例。 接着,我们可以通过高德地图提供的API创建区域、信息窗口,并将它们绑定在一起。首先,使用AMap.Polygon对象创建一个区域,并设置区域的坐标点。然后,使用AMap.InfoWindow对象创建一个信息窗口,并设置其内容及位置。 接下来,在Vue组件的data属性中,定义一个变量来保存区域和信息窗口的实例。然后,在初始化地图实例时,将该变量与地图实例绑定,以便在其他方法中使用。 然后,在Vue组件的methods属性中,定义一个方法来显示信息窗口。在该方法中,通过调用信息窗口实例的open方法,将信息窗口显示在指定的位置。 最后,在区域的点击事件中,调用显示信息窗口的方法,以实现点击区域时弹出相应的信息窗口。 总结起来,使用Vue高德地图区域绑定信息窗的步骤包括初始化地图实例、创建区域和信息窗口、定义变量保存实例、编写显示信息窗口的方法、设置区域的点击事件来触发显示信息窗口的方法。通过这些步骤,我们可以实现在Vue组件中使用高德地图API来绑定区域和信息窗口的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值