更新记录

1.0.8(2024-08-29)

修改事件名

1.0.7(2024-08-29)

修复bug

1.0.6(2024-08-29)

完善md

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.7.0,Android:支持,iOS:支持 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × ×

hr-amap Vue 组件插件文档

本文档将指导您使用 hr-amap Vue 组件,该组件集成了高德地图(AMap)到您的 Vue.js 应用中。该组件设计灵活,可以通过各种属性进行自定义,包括标记、地图配置和聚类配置。

目录

使用

在您的模板中包含 hr-amap 组件,并传递必要的属性来配置地图及其功能。

<template>
  <view class="content">
    <hr-amap
      :style="{ width: '100%', height: '500px' }"
      :longitude="mapCenter.longitude"
      :latitude="mapCenter.latitude"
      :scale="12"
      :markers="markers"
      :enable-3D="false"
      :loader-config="loaderConfig"
      :map-config="mapConfig"
      :cluster-config="clusterConfig"
      @load="handleMapLoaded"
    />
  </view>
</template>

<script>
import points from "./data.js";

export default {
  data() {
    return {
      mapCenter: {
        longitude: 112.93359937,
        latitude: 28.22375837,
      },
      loaderConfig: {
        key: "您的高德地图API密钥",
        securityJsCode: "您的安全码",
        plugins: ["AMap.MarkerCluster", "AMap.Geolocation"],
        version: "2.0",
      },
      mapConfig: {},
      clusterConfig: {
        enableDefaultStyle: false,
        zoomOnClick: true,
        gridSize: 60,
      },
      markers: points,
    };
  },
  methods: {
    handleMapLoaded(map, AMap) {
      // 添加控件
      const geolocation = new AMap.Geolocation();
      map.addControl(geolocation);
    },
  },
};
</script>

属性

  • loaderConfig (Object): 高德地图 API 加载配置,包括密钥、版本、插件等。
  • longitude (Number): 地图中心点的经度。
  • latitude (Number): 地图中心点的纬度。
  • scale (Number): 地图缩放级别。
  • enable3d (Boolean): 是否启用 3D 模式。
  • mapConfig (Object): 地图的其他配置选项。
  • clusterConfig (Object): 聚类配置选项。
  • markers (Array): 标记点数组,包含标记点的经纬度、图标、标签等信息。
  • polyline (Array): 折线数组,用于绘制路径或线条。
  • circles (Array): 圆形区域数组,用于标注特定区域。

事件

  • load: 当地图加载完成时触发,回调参数为 (map, AMap)

方法

  • initAMap(): 初始化地图。
  • removeMarkers(): 移除地图上的标记。
  • markerCluster(): 使用标记点创建聚类。
  • renderMarker(context): 自定义标记的渲染逻辑。

示例

下面是一个使用 hr-amap 组件的示例,展示了如何在地图上加载并显示标记:

<template>
  <view class="content">
    <hr-amap
      :style="{ width: '100%', height: '500px' }"
      :longitude="112.93359937"
      :latitude="28.22375837"
      :scale="12"
      :markers="markers"
      :enable-3D="false"
      :loader-config="loaderConfig"
      :map-config="mapConfig"
      :cluster-config="clusterConfig"
      @load="handleMapLoaded"
    />
  </view>
</template>

<script>
import points from "./data.js";

export default {
  data() {
    return {
      loaderConfig: {
        key: "您的高德地图API密钥",
        securityJsCode: "您的安全码",
        plugins: ["AMap.MarkerCluster", "AMap.Geolocation"],
        version: "2.0",
      },
      mapConfig: {},
      clusterConfig: {
        enableDefaultStyle: false,
        zoomOnClick: true,
        gridSize: 60,
      },
      markers: points,
    };
  },
  methods: {
    handleMapLoaded(map, AMap) {
      const geolocation = new AMap.Geolocation();
      map.addControl(geolocation);
    },
  },
};
</script>

data.js

export default [
  {
    joinCluster: true,
    id: 0,
    latitude: 28.260642,
    longitude: 112.568821,
    iconPath: "./static/icons/hzz/gisIcon/spjk.png",
    width: 33,
    height: 39,
    label: {
      content: "沩丰坝桥下2-四期",
      color: "#333",
      textAlign: "center",
      padding: 10,
      borderRadius: 5,
      borderWidth: 1,
      fontSize: 13,
      x: -30,
      y: 0,
      borderColor: "#fff",
      bgColor: "#fff",
    },
    callout: {
      content: "",
      textAlign: "left",
      color: "#333",
      bgColor: "#fff",
      fontSize: 12,
      padding: 10,
      borderRadius: 5,
      display: "",
    },
    lnglat: [112.568821, 28.260642],
    name: "沩丰坝桥下2-四期",
    weight: 1,
  },
  {
    joinCluster: true,
    id: 1,
    latitude: 28.264276,
    longitude: 112.567309,
    iconPath: "./static/icons/hzz/gisIcon/spjk.png",
    width: 33,
    height: 39,
    label: {
      content: "沩水河沩丰坝大桥全景-枪-四期",
      color: "#333",
      textAlign: "center",
      padding: 10,
      borderRadius: 5,
      borderWidth: 1,
      fontSize: 13,
      x: -30,
      y: 0,
      borderColor: "#fff",
      bgColor: "#fff",
    },
    callout: {
      content: "",
      textAlign: "left",
      color: "#333",
      bgColor: "#fff",
      fontSize: 12,
      padding: 10,
      borderRadius: 5,
      display: "",
    },
    lnglat: [112.567309, 28.264276],
    name: "沩水河沩丰坝大桥全景-枪-四期",
    weight: 1,
  },
];

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问