小程序map学习:使用map获取当前位置并显示出来

在小程序开发的过程中,我碰到过一个做map的需求,在我开发的时候我碰到了一些问题,这里总结出来,给大家一些解决方法。

简易小程序dome下载

代码片段分享:

js部分:

var amapFile = require('../../libs/amap-wx.js');//如:..­/..­/libs/amap-wx.js
Page({
  data: {
    markers: [],latitude: '',longitude: '',textData: {},dome:false
  },onLoad: function() {
    var that = this;
   
    wx.getLocation({
      type: 'wgs84',success: (res) => {
        console.log(res);
        that.setData({
          latitude: res.latitude,longitude: res.longitude
        })
        var marker = [{
          id: 1,latitude: res.latitude,longitude: res.longitude,iconPath: "../../images/marker.png",width: 22,height: 32,callout: {
            content: "你的位置\n换行内容",color: "#333333",fontSize: 13,borderRadius: 20,bgColor: "#ffffff",textAlign: "center",padding: 10,display: 'ALWAYS'
          }
        }]
        that.setData({
          markers: marker
        });
        that.setData({
          dome: true
        });
      },});
    
  },})

  

页面部分

<view class="map_container">
  <map class="map" id="map" longitude="{{longitude}}" latitude="{{latitude}}" scale="11" markers="{{markers}}" wx:if="{{dome}}"></map>  
</view>

  

css部分

.map_container{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width:750rpx;
  height: 100vh;
}
map{
  width:100%;
  height: 100%;
}

  

遇到的问题:看上面的代码,大家可以发现,我的map是用if来控制的,这样是为了防止markers动态更新后map没反应,这里我的解决方法是直接重构,如果有其他大家欢迎大家在下面分享出来。

相关文章

判断H5页面环境在微信中还是小程序中 用小程序提供的wx.mini...
wx.reLaunch和wx.navigateTo,wx.navigateTo的区别 2019-03-...
微信小程序如何从数组里取值_微信小程序 传值取值的几种方法...
H5项目接入微信授权登录,通过 UA 区分微信还是普通浏览器:...
微信小程序获取data-xx=&quot;&quot;属性的值,自定...
小程序报错:TypeError: Cannot read property ‘addEventLi...