做地图功能的设计,有哪些容易被我们忽略的思考?( 二 )


以选择酒店为例 , 我们假设一个场景:用户选择了地点、入住时间段与入住人数后进入酒店列表页 , 在列表页滑动查看了几页后 , 对目标酒店还是不太有想法 , 这时想要进入地图页看看哪些酒店的位置比较方便(此时用户的列表页已加载到第4页) 。 用户进入地图模式 , 我们该给用户呈现同列表页第4页相同的酒店数据 , 还是重新为用户提供默认的酒店数据?
做地图功能的设计,有哪些容易被我们忽略的思考?
本文插图
笔者大致分析了几个OTA产品 , 他们大多进入地图页不会与列表页当前浏览的页数进行联动显示 , 即进入地图页依旧是平台给用户筛选出的最匹配条件的内容 。
为什么这样做的理由 , 笔者猜测有两个原因:

  1. 列表页的内容不一定在地理位置上是临近的 , 只是根据用户的查询条件进行最佳匹配推荐 , 若用户没有设置具体位置距离的筛选 , 这些酒店有可能在地理位置上跨度很大 , 若要在地图页联动显示会造成进入地图的比例尺偏小 , 由此影响用户正常浏览 。
  2. 技术层面的考虑 , 若要做联动需要给列表页瀑布浏览做页码编码 , 且对应关系也需要特殊处理 , 比方说当前列表页刚好上半部分是第4页下半部分是第5页 , 那么进入地图时该显示第4页还是第5页呢 。
大家若有其他想法 , 欢迎一起交流讨论 。
二、用户使用地图时
1. 数据承载与地图移动的关系
用户进入地图后 , 移动地图是非常常见的操作 , 理想情况下 , 地图是会跟随用户的移动进行实时的数据加载与更新 。
但同时会造成反向的影响:
1)对于数据处理的影响
用户移动的路径每偏移一个经纬度 , 后端数据需要根据这经纬度进行数据的加载与更新 , 对于数据承载是一个非常复杂的操作 , 同时可能造成数据错误和加载跟不上导致频繁失败的反效果 。
在开发数据处理的层面 , 用户自主触发搜索会涉及到经纬度的重新加载 , 这时候要框定一个范围给开发大哥们进行数据处理和实现 。
2)对于用户的影响
实时加载和更新在用户界面上会带来频繁进入数据加载 , 可能用户只是移动的速度比较慢 , 但移动过程中实时的加载过程会打断用户的移动过程 , 多余的加载反而造成用户到达目标范围的干扰 。 因此 , 大多带有地图功能的产品在用户移动时都会出现一个「重新搜索」的按钮 。 这样不论对于后端数据 , 还是对于用户来说 , 都是权衡利弊较友好的设计 。

做地图功能的设计,有哪些容易被我们忽略的思考?
本文插图
2. 放大/缩小视图
放大和缩小视图也是地图移动行为 , 这部分属于用户自主进行比例尺的改变 。 在此过程中 , 我们依旧要保证用户足够的操控权利 , 在用户自主操控放大或缩小的范围内 , 给其准确的数据呈现 。
3. 临界点处理
地图做为一个涵盖范围超广且用户操作多元的功能页面 , 临界点是保证功能完整和易用性的基础 。 那么 , 我们需要有哪些临界的考量呢?
1)跨区域处理
所谓跨区域处理 , 即用户在移动地图时进入到了非当前查询条件的行政区域 , 我们需要平衡技术实现能力决定是否要让用户继续进行下一个行政区域的浏览 , 若要 , 需要给予适当的提示 , 且用户返回列表页时需要将新的行政区域带回到查询条件中重新刷新列表页的内容 。
做地图功能的设计,有哪些容易被我们忽略的思考?
本文插图
2)视图的临界区域
进入地图视图时会显示一定数量的内容标记 , 很有可能出现标签tag处于屏幕的边界处 , 用户只能看到一半甚至是几个像素的内容 , 因此 , 划定视图区域是保障用户能够清晰浏览内容标记的建议方式 。


推荐阅读