导航地图应该帮助用户穿越世界,而不是对抗他们所做的每一个姿态.
最近我在React Industrial / Expo app 中构建实地指导时, 撞上了一个欺骗性简单的bug:路由正确, 他们可以抓取地图,但下一次地点更新将相机折回固定缩放.
地图看起来很活跃 。
经历感觉破碎。
原因:两个相机所有人 执行结合了两个有用的特征:在本地地图上使用 UserLocation { true}.
动画Camera (.) 每次更新地点后,使用固定的行走缩放和投出.
每个特点本身都是合理的。
他们一起给了相机两个自动车主,用户一个也没有.
一次手势把缩放改变了一点 然后GPS更新到了 我们的效果又应用了导航相机 在iOS上,本地用户跟随行为增加了另一层相机控制.
更好的模式:遵循模式并探索模式 问题不在于停止导航 路线进展、距离、轴承、面包屑记录和外出检测都应继续下去,无论用户对地图做了什么。
只有相机行为应该改变.
现在,我们保留一个小块 当地的UI州: 原生后道具使用相同的状态: 用户一接触地图,相机就进入探索模式.
平分,平分和旋转正常 活动路线和导航计算在背景中继续.
一个大位置按钮会遵循以下模式 : 这创造了一个熟悉的契约: 开始引导: 自动遵循; 触摸地图: 自由检查; 点击位置箭头: 继续遵循; 停止引导: 返回到普通概览地图.
为什么在TouchStart上?
反应-内在-映射会揭示关于区域变化事件的手势细节,但Gesture在提供方之间并不相同。
只有依靠这一细节才能在Google Maps和Apple Maps之间产生不同的行为.
对于此字段使用大小写,一触即是意图的好表达:用户想控制地图.
动作用一个明显的按钮可逆.
将导航状态与演示文稿状态分开 最重要的建筑教训是相机状态不是导航状态.
在相机脱落时,这些功能应该继续:当前位置更新;剩余路由距离;承载和方向;出道检测;路由重新计算;本地面包屑记录.
只有相机动画暂停播放.
这种分离使UI手势无法意外地阻止出行或丢弃路线进展.
户外 UX 细节 物质 Field 导航 使用时有冷手指,阳光,雨和间歇性注意.
少数细节使互动更加清晰:52分更近的按钮有宽大的命中区;高相接路由颜色;地图外的路由状态,因此在缩放时仍然可以读取;没有需要恢复的隐藏姿态;测试断言两个地图表面使用相同的跟/开发合同.
我们把这个模式 应用到现场旅行引导和导航 回到一个私人保存的地方。
一致性问题:用户不应该在同一个应用程序内学习两个相机行为.
我在开发Mycoverse时发现了这个问题。
Mycoverse是一个iPhone应用软件, 用于计划蘑菇旅行, 包括天气、栖息地和季节信号, 确切保存的地方默认是私有的 。
该应用程序不识别蘑菇、保证找到或提供食品安全建议。
错误来自真实的场反馈,这正是模拟器很少产生的反馈类型.
如果你的应用程序引导人们到户外,在行走时进行测试,把电话锁上,放入口袋,恢复,并试图检查地图中路.
真正的界面就是从这里开始的.