zoukankan      html  css  js  c++  java
  • 微信小程序地图组件中的include-points怎样缩放视野并将所有坐标点在规定的视野内展示?

    开发微信小程序过程中运用到了map地图组件,官网文档写的比较简陋一些,好多核心功能没有详细说明,比如include-points,怎样做到类似滴滴那种将所有坐标点都展示在视野范围内呢;

    1.如果不设置中心点latitude、longitude会有不能展现到视野内的问题;所以先要计算两点之间的中心点:

    var lat = (that.data.from_latitude + that.data.to_latitude) / 2;
    var lng = (that.data.from_longitude + that.data.to_longitude) / 2;
    然后再把起始点和终点的坐标以数组的格式传入include-points这个属性,这样就可以使起始点和终点之间的连线都展示在视野范围内了;

    需要注意的是include-points属性可以通过计算所有点的最大矩形左下经纬度&右上经纬度来设置,这样可以减小setData的数据。因为小程序setData的数据传输有1M的限制,就是说include-points属性不可以传入过多的坐标点,目前我是只传入了起始点和终点的坐标,但是也有的把连线的坐标点都传入了进去,看个人需求吧,只要能达到效果,过程不重要;

    2.还有一个办法是使用小程序的API:mapCtx.includePoints方法

    var mapCtx = wx.createMapContext("map");
    mapCtx.includePoints({
          padding: [ 70,],
          points: [{
            latitude: that.data.from_latitude,
            longitude: that.data.from_longitude
          }, {
            latitude: that.data.to_latitude,
            longitude: that.data.to_longitude
          }]
        })
    不管是哪个方法都需要计算两点之间的中心点,这样才能确保所有的坐标点都在视野内;
    by: qiuqiu
  • 相关阅读:
    你是老鸟吗?但是有些你可能目前都不知道的东西
    工具类合集
    也谈Flash mmorpg地图问题【转】
    大量实用工具类、开源包,该帖绝对值得你收藏!
    如何设计产品【页游】
    网络游戏中,玩家常常询问什么时候开新服,其中的本质需求是什么?
    大将军UE分析
    天天连萌UE分析
    selenium IDE 回放报错
    jenkins配置
  • 原文地址:https://www.cnblogs.com/widgetbox/p/12618273.html
Copyright © 2011-2022 走看看