# 11.1 地图(Map)

此组件为APP内置组件,不需要前端import导入, 可直接在template里使用。前端自行定义图标样式:大小和位置

实例 :

# 基础用法

<template>
  <div class="wrapper">
    <dof-minibar
      title="Map"
      background-color="#0092d7"
      text-color="#ffffff"
      :isImage="true"
      :left-button="leftButton"
      right-text="Home"
    ></dof-minibar>
    <scroller class="wrapper-main">
      <dof-catalog title="使用案例"></dof-catalog>
      <midea-map-view class="map" :data="mapData" @marker-pick="markerPick" @point-pick="pointPick"></midea-map-view>
      <text class="display-text">
            {{JSON.stringify(mapData)}}
      </text>
    </scroller>
  </div>
</template>

<style scoped>
.wrapper {
  background-color: #ffffff;
}

.map {
  width: 730px;
  margin-top: 20px;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 20px;
  height: 500px;
}
.display-text {
  font-size: 30px;
  margin-left: 10px;
  margin-right: 10px;
}
</style>

<script>
import { DofMinibar, DofCatalog} from 'dolphin-weex-ui'
import nativeService from 'src/service/nativeService'
export default {
  components: {DofMinibar, DofCatalog },
  data: () => ({
    mapData: {
      center: {
          latitude: 23.54,
          longitude: 113.13,
          zoom: 10 //地图显示范围 4-21级 (最大是21级),非必选
      },
      markers: [
          {
              icon: {
                  normal: "./assets/img/service_ic_pin@3x.png",//正常的图片地址
                  click: "./assets/img/service_ic_pin@3x.png" //点击高亮的图片地址
              },
              list: [
                  { latitude: 23.14, longitude: 113.3, id: 1 },
                  { latitude: 23.74, longitude: 113.73, id: 2 }
              ]
          },
          { //第二组坐标,可换不同坐标
              icon: {
                  normal: "./assets/img/service_ic_pin@3x.png",//正常的图片地址
                  click: "./assets/img/service_ic_pin@3x.png" //点击高亮的图片地址
              },
              list: [
                  { latitude: 23.24, longitude: 113.53, id: 3 },
                  { latitude: 23.4, longitude: 113.93, id: 4 }
              ]
          }
      ]
    }
  }),

  methods: {
    markerPick(item) {
        /* item: {
            status: 0, //0获取成功
            id: xxx //weex设置覆盖物的id值
        } */
        nativeService.toast("点击了marker id:" + item.id)
    },

    pointPick(item) {
        /* item: {
            status: 0, //0获取成功
            platform: baidu  //默认是百度地图返回的信息,非必选
            province: 省名字,
            city: 城市名字,
            cityCode: 城市编号,
            district: 区域名字
            latitude: string, //纬度
            longitude: string, //经度
        } */
        nativeService.toast("点击了地图位置:" + JSON.stringify(item))
    }
  }
}
</script>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102

# Attributes

Prop Type Required Default Description
data Object N 注1 包含地图数据的JSON对象:
  • 注1
{
    center: {
        latitude: 113.54,
        longitude: 23.13,
        zoom: 10 //地图显示范围 4-21级 (最大是21级),非必选
    },
    markers: [
        {
            icon: {
                normal: "./assets/img/service_ic_pin@3x.png",//正常的图片地址
                click: "./assets/img/service_ic_pin@3x.png" //点击高亮的图片地址
            },
            list: [
                { latitude: 113.54, longitude: 23.13, id: 1 },
                { latitude: 153.54, longitude: 23.13, id: 2 }
            ]
        },
        { //第二组坐标,可换不同坐标
            icon: {
                normal: "./assets/img/service_ic_pin@3x.png",//正常的图片地址
                click: "./assets/img/service_ic_pin@3x.png" //点击高亮的图片地址
            },
            list: [
                { latitude: 173.54, longitude: 23.13, id: 3 },
                { latitude: 193.54, longitude: 23.13, id: 4 }
            ]
        }
    ],
    overlay:{
        latitude: 23.54,          //围栏中心点纬度
        longitude: 113.13,        //围栏中心点经度
        radius : 10000,           //围栏的半径(单位米,要求大于0)
        customID : 23412,         //用户自定义ID,可选
        fillColor : "#000000",    //围栏的填充颜色
        strokeColor : "#666666",  //围栏的边框颜色
        lineWidth : "2.0",        //围栏边框宽度
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# Events

事件名称 说明 回调参数
marker-pick 点击覆盖物后触发 注2
point-pick 点击地图的某个点(非覆盖物)后触发 注3

注2

{
  status: 0, //0获取成功
  id: xxx //weex设置覆盖物的id值
}
1
2
3
4

注3

{
  platform: baidu //默认是百度地图返回的信息,非必选
  province: 省名字,
  city: 城市名字,
  cityCode: 城市编号,
  district: 区域名字
  latitude: string, //纬度
  longitude: string, //经度
}
1
2
3
4
5
6
7
8
9
Last Updated: 11/1/2022, 4:01:00 PM