收藏
回答

map组件中心点重设失效

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 map 微信iOS客户端 Android 6.6.1 1.7.2

我有个map组件,通过移动地图产生变化后,重新获取中心点,可是show-location并不会产生变化,而我新增的markers标记点是有变化的,是什么情况?希望官方给个回应


测试代码如下:

<map id="map" latitude="{{lat}}" longitude="{{lng}}" markers='{{markers}}' bindregionchange="moveMap" show-location>
 
  <cover-view class="text">{{lat}}***{{lng}}</cover-view>
 
</map>


let mapCtx=null;
Page({
  data: {
    lat: 0,
    lng: 0,
    markers:[]
  },
  onLoad: function (options) {
    let that = this;
    wx.getLocation({
      success: function (res) {
        that.setData({
          lat: res.latitude,
          lng: res.longitude,
          markers: [{
            id: 0,
            title: '000',
            latitude: res.latitude,
            longitude: res.longitude
          }]
        });
      },
    });
  },
  onReady: function () {
    mapCtx=wx.createMapContext('map', this);
  },
  moveMap(e){
    console.log(e)
    let that=this;
    if(e.type==='end'){
      let markers=that.data.markers;
      mapCtx.getCenterLocation({
        success(res) {
          console.log(res)
          markers.push({
            id: 1,
            title: '111',
            latitude: res.latitude,
            longitude: res.longitude
          })
          that.setData({
            lat: res.latitude,
            lng: res.longitude,
            markers: markers
 
          });
          console.log(that.data.markers)
        }
      })
    }
  }
})

以上逻辑代码中,我将用户中心点作为markers标记点,移动地图后重新获取用户中心点并赋值中心点坐标和markers标记点,但是show-location坐标点并没有跟着产生变化


效果如下:


最后一次编辑于  2018-01-29  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

8 个回答

  • philly
    philly
    2018-01-29

    那个show什么是显示你的定位坐标。。。你可能搞晕头了,你移动地图,你的定位坐标为什么会跟着改变呢?

    2018-01-29
    赞同
    回复
  • 棉花糖
    棉花糖
    2018-01-29

    好吧,我是想要做一个调试测试。

    当用户行走到景区附近提醒用户展示相应的信息。如何就是想直接在地图上模拟用户的行走进行调试测试。

    2018-01-29
    赞同
    回复
  • philly
    philly
    2018-01-29

    那不就相当于你移动地图,然后展示你移动后的位子附近要展示的信息吗?很简单啊,你只用把点打好不就行了么?这个需求很简单的,别想太复杂

    2018-01-29
    赞同
    回复
  • 棉花糖
    棉花糖
    2018-01-29

    恩,你说的这种确实可行。

    另外一种是模拟用户行走,实时提醒用户行走的一个需求,这个要怎么调试测试会更方便呢?

    不知道更改map的latitude和longitude是否可行,这个确实是得在测试看看。或者是否有其他更好的方案呢?


    感谢你的帮助。

    2018-01-29
    赞同
    回复
  • GaleLiu
    GaleLiu
    2018-01-31

    我觉得地图组件api的getCenterLocation()方法可解决你的问题

    2018-01-31
    赞同
    回复
  • GaleLiu
    GaleLiu
    2018-01-31

    show-location 的位置只有在调试器的sensor 可换位置

    2018-01-31
    赞同
    回复
  • 棉花糖
    棉花糖
    2018-01-31

    “show-location 的位置只有在调试器的sensor 可换位置”你说的这个是什么意思?@GaleLiu 

    2018-01-31
    赞同
    回复
  • GaleLiu
    GaleLiu
    2018-01-31


    这个就是调节 show-location 那个当前位置的经纬度

    2018-01-31
    赞同
    回复