uni-app map地图组件应用

map地图组件使用时直接在template中使用<map></map>标签,标签中可嵌套map属性

map最常用到的属性:
  • longitude 中心经度

  • latitude 中心纬度

  • scale 缩放级别(取值范围为5-18,默认的是16 ,值数越大,放大程度越大,看的越细)

  • markers 标记点 (在地图上标记出来的点)

markers属性

id标记点id (marker点击事件回调会返回此id)
latitude纬度(范围 -90 ~ 90 )
longitude经度(范围 -180 ~ 180 )
title标注点名
iconPath显示的图标
rotate旋转角度 (顺时针旋转的角度,范围 0 ~ 360,默认为 0 )
alpha标注的透明度 ( 默认1,无透明,范围 0 ~ 1)
width标注图标宽度 (默认为图片实际宽度 )
height标注图标高度 (默认为图片实际高度 )
callout自定义标记点上方的气泡窗口
label为标记点旁边增加标签
anchor经纬度在标注图标的锚点

marker的 callout属性
content文本
color文本颜色
fontSize文字大小
borderRadiuscallout边框圆角
bgColor背景色
padding文本边缘留白
displayBYCLICK':点击显示;'ALWAYS':常显
textAlign文本对齐方式

marker的 label属性
content文本
color文本颜色
fontSize文字大小
xlabel的坐标,原点是 marker 对应的经纬度
ylabel的坐标,原点是 marker 对应的经纬度
borderWidth边框宽度
borderColor边框颜色
borderRadiuscallout边框圆角
bgColor背景色
padding文本边缘留白
textAlign文本对齐方式

  • polyline 路线 (可以写两个标记点 然后用路线将它们连接起来)

polyline 属性

points经纬度数组[{latitude: 0, longitude: 0}]
color线的颜色
width线的宽度
dottedLine是否虚线 ( 默认false )
arrowLine带箭头的线( 默认false )
arrowIconPath更换箭头图标(在arrowLine为true时生效)
borderColor线的边框颜色

  • circles 圆

circles属性

latitude纬度
longitude经度
color描边的颜色
fillColor填充颜色
radius半径

  • controls 控件 (在地图上显示一个控件,但是这个控件并不随着地图移动)

controls 属性

id控件id (在控件点击事件回调会返回此id)
position控件在地图的位置 (控件相对地图位置)
iconPath显示的图标 (项目目录下的图片路径)
clickable是否可点击 (默认不可点击)

实现如下:

image.png
template中使用<map></map>标签
<template>
  <view>
      // latitude 中心经度 longitude 中心纬度 markers 标记点  scale 缩放级别  polyline 路线 
      <map :latitude="latitude" :longitude="longitude" :markers="marker" :scale="scale" :polyline="polyline">
        <cover-view class="test" @click="getSearch">
          <input type="text" placeholder="搜索位置"  />
        </cover-view>
      </map>
  </view>
<template>
在data中定义相关属性
data() {
            return{
              latitude: 34.79977,//纬度
             longitude: 113.66072,//经度
               scale:13,//缩放级别
               compass:true,
               // show-compass:true,
               // enable-3D:false,
                polyline:[
                    {//指定一系列坐标点,从数组第一项连线至最后一项
                        points:[
                             {latitude: 34.79977,longitude: 113.66072},
                             {latitude: 34.795541,longitude: 113.681646},
                        ],
                        color:"#0000AA",//线的颜色
                        width:1,//线的宽度
                    //     dottedLine:true,//是否虚线
                        arrowLine:true,    //带箭头的线 开发者工具暂不支持该属性
                      }
                ],
              marker: [
     
               {
                    id:0,
                    latitude: 34.79977,//纬度
                    longitude: 113.66072,//经度
                    iconPath: '',    //显示的图标        
                    rotate:0,   // 旋转度数
                    width:10,   //宽
                    height:20,   //高
                    title:'我在这里',//标注点名
                    alpha:0.5,   //透明度
                    label:{//为标记点旁边增加标签   //因背景颜色H5不支持
                    content:'Hello,I am here',//文本
                   color:'red',//文本颜色
                      //   fontSize:24,//文字大小
                      //    x:5,//label的坐标,原点是 marker 对应的经纬度
                      //    y:1,//label的坐标,原点是 marker 对应的经纬度 
                      //    borderWidth:12,//边框宽度
                      //    borderColor:'pink',//边框颜色    
                      //   borderRadius:20,//边框圆角                        
                      //   bgColor:'black',//背景色
                      //   padding:5,//文本边缘留白
                      //    textAlign:'right'//文本对齐方式。
                  },
                  callout:{//自定义标记点上方的气泡窗口 点击有效  
                    content:'硅谷广场B座',//文本
                    color:'#ffffff',//文字颜色
                    fontSize:14,//文本大小
                    borderRadius:2,//边框圆角
                    bgColor:'#00c16f',//背景颜色
                    display:'ALWAYS',//常显
                  },
                  // anchor:{//经纬度在标注图标的锚点,默认底边中点
                  //     x:0,    原点为给出的经纬度
                  //     y:0,
                  // }
                               
                  },
                  {
                       id:1,
                       latitude: 34.79970,//纬度
                       longitude: 113.64000,//经度
                       iconPath: '',    //显示的图标        
                       rotate:0,   // 旋转度数
                       width:10,   //宽
                       height:20,   //高
                       title:'我在这里',//标注点名
                       alpha:0.5,   //透明度
                       label:{//为标记点旁边增加标签   //因背景颜色H5不支持
                    //    content:'Hello,I am here',//文本
                      color:'red',//文本颜色
                         //   fontSize:24,//文字大小
                         //    x:5,//label的坐标,原点是 marker 对应的经纬度
                         //    y:1,//label的坐标,原点是 marker 对应的经纬度 
                         //    borderWidth:12,//边框宽度
                         //    borderColor:'pink',//边框颜色    
                         //   borderRadius:20,//边框圆角                        
                         //   bgColor:'black',//背景色
                         //   padding:5,//文本边缘留白
                         //    textAlign:'right'//文本对齐方式。
                     },
                     callout:{//自定义标记点上方的气泡窗口 点击有效  
                       content:'硅谷广场旁边',//文本
                       color:'#ffffff',//文字颜色
                       fontSize:14,//文本大小
                       borderRadius:2,//边框圆角
                       bgColor:'#00c16f',//背景颜色
                       display:'ALWAYS',//常显
                     },
                     // anchor:{//经纬度在标注图标的锚点,默认底边中点
                     //     x:0,    原点为给出的经纬度
                     //     y:0,
                     // }
                                  
                     }
               ],
            }  
        },
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容