微信小程序> 微信小程序地图组件使用详情

微信小程序地图组件使用详情

浏览量:737 时间: 来源:行侠者

目前开发微信小程序的越来越多,周边也有很多小程序案例,

介绍下微信小程序内使用地图组件(这里只介绍小程序前端功能)

直接看代码吧

wxml

view class="section map_container"  map id="loactionMap" longitude="{{longitude}}" latitude="{{latitude}}" scale="17" show-location="true" style="width: {{mapWidth}}px; height: {{mapHeight}}px;" bindregiοnchange="regionChange"    cover-view class="controls-center" style="bottom:{{mapHeight/2}}px;left:{{mapWidth/2 - 14}}px;"      cover-image class="location-center-img" src="/images/marker_red.png" /    /cover-view    cover-view class="controls-address-panel" style="bottom:0px;left:0px;"      cover-view class="map_text"        cover-view          cover-view class="address-name"{{textData.name}}/cover-view          cover-image wx:if="{{searchLoadingStatus==1}}"           class="cover-image-loading" src="/images/goLoad.gif" /        /cover-view        cover-view class="address-desc"{{textData.desc}}/cover-view      /cover-view    /cover-view  /map/view

 

Page({  data: {    mapCtx: null,    mapWidth: 200,    mapHeight: 200,    longitude: 114.0322103,    latitude: 22.5353646,    markers: [],    textData: { name: '', desc: '' },    //0:加载完成  1:加载中    searchLoadingStatus: 0,    //当前选中纬度信息    currentLocationInfo: {      longitude: 0,      latitude: 0    }  },  regionChange: function (e) {    var that = this;    var changeType = e.type;  },  amapGetRegeo: function (longitude, latitude) {    var that = this;    myAmapFun.getRegeo({      location: longitude + ',' + latitude,      success: function (data) {        if (data != null && data.length  0) {          that.setData({            textData: {              name: data[0].desc,              desc: data[0].regeocodeData.formatted_address            },            currentLocationInfo: {              longitude: longitude,              latitude: latitude            }          });          //console.log(that);        }        that.setData({          searchLoadingStatus: 0        });      }    })  },  onReady: function (e) {    var that = this;    // 使用 wx.createMapContext 获取 map 上下文    that.mapCtx = wx.createMapContext('loactionMap', this);  },  onLoad(options) {    var that = this;    that.authorAddress();    that.setMapSize();    that.getShareLocation(options);  },  //用户地理位置授权  authorAddress:function(){    var that = this;    that.getCurrentLocation('gcj02', function (res) {      console.log(res);      that.setData({        longitude: res.longitude,        latitude: res.latitude      });    });  },  //初始化当前位置  getCurrentLocation: function (typeCode, succFun) {    var that = this;    wx.getLocation({      type: typeCode,      success: function (res) {        return succFun(res);      },      fail:function(res){        wx.openSetting({          success: function (data) {            console.log(4444)            console.log(data);            that.authorAddress();          },          fail: function () {            console.info("设置失败返回数据");          }        });      }    })  }});

wxss

.map_text{  position: absolute;  left: 0;  right: 0;  bottom: 0px;  height: 70px;  background: #fff;  padding: 0 10px;}.address-name{  margin: 10px 0;  font-size:35rpx;  font-weight: bold;  float: left;}.address-desc{  margin: 5px 0;  display: block;  font-size:26rpx;}.controls {  position: absolute;  width: 100rpx;  bottom: 150rpx;  right:10rpx;}.controls-center{  position: absolute;  width: 30px;}.controls-center-add{  position: absolute;  width: 33px;}.controls-address-panel{  position: absolute;  width: 100%;  height:80px;}.cover-image-loading{  width:15px;  height:15px;  float:left;  padding-top:12px;  padding-left:5px; }.favorite-img {  width: 100rpx;  height: 100rpx;}

小程序成品预览

不清楚的地方可以加我微信

 

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎