自定义点

<hcm-amap-custom-marker>

简介

<hcm-amap-custom-marker>组件用于在地图上显示标记的位置,标记,<hcm-amap-custom-marker>组件必须以子组件的形式存在于<hcm-amap>中,<hcm-amap-custom-marker>支持子组件

属性

属性名 类型 默认值 必选 支持iOS 支持Android 说明
position Object - Y Y Y 点的地理位置坐标
centerOffset Object - N Y Y 默认情况下,标记点容器的中心位置与position的坐标位置重合,该属性能让标记点容器发生偏移。正的偏移使容器朝右下方移动,负的朝左上方,单位是px

position

地图坐标点对象,其属性必须包含以下两项:

  • latitude (浮点型 / 必选) -- 高德坐标系下坐标点的纬度
  • longitude (浮点型 / 必选) -- 高德坐标系下坐标点的经度

centerOffset

位置偏移对象,其属性包含以下一项或两项:

  • x (浮点型 / 可选) -- 手机屏幕左右方向偏移,单位是 px
  • y (浮点型 / 可选) -- 手机屏幕上下方向偏移,单位是 px

事件

事件名 支持iOS 支持Android 说明
selected Y Y 标记点被选中
deselected Y Y 标记点取消选中

事件返回的数据对象包含以下一项或者多项:

  • success(布尔值 / 必选)
    • true -- 成功
    • false -- 失败
  • message(字符串 / 可选) -- 成功或者失败的相关信息

示例

<template>
    <hcm-amap class="map" id="hcm-amap" ref="amap">
          <hcm-amap-custom-marker class="map-custom-marker"
                  v-for="(marker, idx) in customMarkers"
                  :key="idx"
                  :position="marker.position"
                  :centerOffset="marker.centerOffset"
                  @selected="clickMarker(marker, idx)"
                  @deselected="deselectedMarker(marker, idx)">
          </hcm-amap-custom-marker>
    </hcm-amap>
</template>
<script>
    module.exports = {
        data: {
            customMarkers: [
                {
                    position: {
                        'latitude': 30.181046,
                        'longitude': 120.200826
                },
                    title: '中南建设大厦',
                    centerOffset: {
                        y: -16
                    }
                },
                {
                    position: {
                        'latitude': 30.187751,
                        'longitude': 120.190644
                    },
                    title: '网易',
                    centerOffset: {
                        y: -16
                    }
                }
            ],
        },
        methods: {
            clickMarker(marker, idx) {

                modal.toast({
                    message: 'selecteded marker' + JSON.stringify(marker.position) + ' at index = ' + idx,
                    duration: 1.0
                })

            },

            deselectedMarker(marker, idx) {

                modal.toast({
                    message: 'delecteded marker' + JSON.stringify(marker.position) + ' at index = ' + idx,
                    duration: 1.0,
                })

            },
        }
    }
</script>

TIP 请保证父组件为hcm-amap

results matching ""

    No results matching ""