vue 高德地图添加多个点标记

这篇具有很好参考价值的文章主要介绍了vue 高德地图添加多个点标记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新建文件 amap.vue

<template>
  <div id="amapcontainer" style="width: 1000px; height: 720px"></div>
</template>

<script>
import AMapLoader from '@amap/amap-jsapi-loader';
window._AMapSecurityConfig = {
  securityJsCode: '' // '「申请的安全密钥」',
}
export default {
  data () {
    return {
      map: null,
      markerList: [],
      mapList: [
        {
          name: '小王',
          address: '广东省广州市海珠区',
          lnglats: [113.312566, 23.085073]
        }, {
          name: '小张',
          address: '广东省广州市黄埔区',
          lnglats: [113.480794, 23.177896]
        }, {
          name: '小李',
          address: '广东省广州市荔湾区',
          lnglats: [113.220556, 23.10718]
        },
        {
          name: '小赵',
          address: '广东省广州市天河区',
          lnglats: [113.365438, 23.124231]
        }
      ]
    }
  },
  mounted () {
    // DOM初始化完成进行地图初始化
    this.initAMap()
  },
  methods: {
    initAMap () {
      AMapLoader.load({
        key: "", // 申请好的Web端开发者Key,首次调用 load 时必填
        version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
        plugins: ["AMap.Scale", "AMap.ToolBar", "AMap.ControlBar", 'AMap.Geocoder', 'AMap.Marker',
          'AMap.CitySearch', 'AMap.Geolocation', 'AMap.AutoComplete', 'AMap.InfoWindow'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
      }).then((AMap) => {
        // 获取到作为地图容器的DOM元素,创建地图实例
        this.map = new AMap.Map("amapcontainer", { //设置地图容器id
          resizeEnable: true,
          zoom: this.zoom, // 地图显示的缩放级别
          viewMode: "3D", // 使用3D视图
          zoomEnable: true, // 地图是否可缩放,默认值为true
          dragEnable: true, // 地图是否可通过鼠标拖拽平移,默认为true
          doubleClickZoom: true, // 地图是否可通过双击鼠标放大地图,默认为true
          zoom: 11, //初始化地图级别
          center: [113.370824, 23.131265], // 初始化中心点坐标 广州
          // mapStyle: "amap://styles/darkblue", // 设置颜色底层
        })
        this.setMapMarker()
      }).catch(e => {
        console.log(e)
      })
    },
    // 增加点标记
    setMapMarker () {
      // 创建 AMap.Icon 实例
      let icon = new AMap.Icon({
        size: new AMap.Size(36, 36), // 图标尺寸
        image: "//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-red.png", // Icon的图像
        imageSize: new AMap.Size(24, 30), // 根据所设置的大小拉伸或压缩图片
        imageOffset: new AMap.Pixel(0, 0)  // 图像相对展示区域的偏移量,适于雪碧图等
      });
      let makerList = []
      this.mapList.forEach((item) => {
        // 遍历生成多个标记点
        let marker = new AMap.Marker({
          map: this.map,
          zIndex: 9999999,
          icon: icon, // 添加 Icon 实例
          offset: new AMap.Pixel(-13, -30), //icon中心点的偏移量
          position: item.lnglats // 经纬度对象new AMap.LngLat(x, y),也可以是经纬度构成的一维数组[116.39, 39.9]
        });
        makerList.push(marker)
      });
      this.map.add(makerList)
      // 自动适应显示想显示的范围区域
      this.map.setFitView();
    }
  }
}
</script>

<style lang="less">
</style>

在需要使用的组件中引入 amap.vue

<template>
  <div>
    <map-container></map-container>
  </div>
</template>
<script>
import MapContainer from "@/components/amap";
export default {
  name: "purchannel",
  components: { MapContainer },
  data () {
    return {
    }
  },
  watch: {},
  created () { },
  mounted () { },
  methods: {
  }
}
</script>

<style lang="less" scoped>
</style>

页面效果:
vue 高德地图添加多个点标记文章来源地址https://www.toymoban.com/news/detail-444230.html

到了这里,关于vue 高德地图添加多个点标记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 高德地图AMap.MouseTool插件多次测距不能清除bug

    AMap.MouseTool插件是一个很有用的插件,可以在地图上画折线测量距离,也可以在地图上画区域测量面积,这些在客户的一些高级需求里经常出现,最近使用出现了bug,此bug在官网的示例里也能重现 官网demo上重现步骤如下图,  1.点击左侧菜单,打开插件示例; 2.点击测量距离

    2024年02月06日
    浏览(27)
  • vue对高德地图的简单使用:点击标记并获取经纬度和详细地址

    目录 第一步:先按部就班,进入高德开放平台,跟着步骤注册账号,创建应用 第二步:用npm下载包,初始化地图 第三步:实现点击地图添加标记 第四步:点击获取详细地址 第五步:搜索获取相关地区提示 第六步:全部代码(把密钥和key替换可直接运行)   高德地图有AP

    2024年02月06日
    浏览(42)
  • 141:vue+leaflet 利用高德逆地理编码,点击地图标记marker,popup地址信息

    第141个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中利用高德逆地理编码,点击地图标记marker,popup地址信息 。主要利用高德地图的api将坐标转化为地址,然后在点击的位置,弹出弹窗,在里面显示出地址信息。 直接复制下面的 vue+leaflet源代码,操作2分钟即

    2024年01月24日
    浏览(34)
  • vue 高德地图 —— 点标记、信息弹窗、网页导航、获取经纬度及当前城市信息

    新建 components/amap.vue 文件,封装高德地图组件: 接下来,在需要使用的组件中引入 amap.vue :

    2023年04月15日
    浏览(47)
  • Android 高德地图 com.amap.api.services.core.AMapException: 用户MD5安全码未通过

    高德地图报com.amap.api.services.core.AMapException: 用户MD5安全码未通过        先进去高德地图平台找到对应应用的key,点击设置查看SHA1码或者包名是否正确,这两个因素是造成这个问题的原因        如何获取SHA1码:                  1.android studio  debug环境中点击右边Gradle-Ta

    2024年02月02日
    浏览(31)
  • H5页面在ios的浏览器上使用 高德地图 报当前定位失败Geolocation permission denied 或者 偶尔报AMap没有找到的

       可以去高德api查看:常见问题 | 高德地图API (amap.com)   图中红圈2,3,4,5,6对应Geolocation permission denied报错的原因,可对应修改。 如红圈2:用户打开定位选项即可:   1.在index.html文件中; 2.在封装高德api的文件下对应调整:  

    2024年02月12日
    浏览(40)
  • 高德地图「海量点标记 + 海量标注」卡顿问题 解决方案

            最近刚做了个和地图相关的需求,涉及到「 海量点标记 + 海量标注 」。当数据量达到 三千以上 的时候,「海量标注」会明显拖慢页面的加载/响应速度,非常影响用户体验,因此我对其进行了优化。感觉还挺有挑战性的,在这里总结一下,关键性代码(Vue3)已开

    2024年02月04日
    浏览(33)
  • 高德地图的简单使用:点击标记获取经纬度和详细地址

    1. 先进入高德开发平台注册登录 2.进入地图 js Api 按照步骤申请key 3 使用npm安装依赖包 npm i @amap/amap-jsapi-loader --save 4. 高德api 都有说明 下面看下我实现的功能和代码 1. 初始化地图加载地图将自动定位到您所在城市并显示,点击地图实现了打点获取经纬度和详情地址。 2.输入提

    2024年02月12日
    浏览(59)
  • 高德地图api2.0点聚合及点标记事件

    在使用高德地图API的过程中,发现2.0版本的点聚合和之前版本的使用上有很大的区别,在此做一下点聚合的使用以及点标记的事件的记录。 在2.0之前的版本,MarkerClusterer插件的使用如下: 而2.0版本对MarkerClusterer进行了改动 在2.0版本中,markerClusterOptions去掉了minClusterSize 集合

    2024年02月13日
    浏览(26)
  • 高德地图自定义图标的点标记Marker--初体验(二)

    本文以Marker为主,其他点标记方法大差不差 通过上两篇文章我们已经了解到如何引入高德地图并进行初始化了,本文主要讲解普通 点标记Marker ,Marker 类型推荐在数据量为 500 以内时使用。若数据量大于 500 ,推荐使用 LabelMarker 海量点 , 官方Marker说明文档 vue引入高德地图多种

    2023年04月08日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包