我正在阅读 getCurrentPosition 上的文档。对于 maxAge 选项,它指出:
如果设置为“Infinity”,则设备必须返回缓存的位置,无论 它的年龄。 (我的大胆)
我很好奇的是这句话中的“必须”一词。是否有过没有缓存位置可供检索的时候?如果是这样,行为是什么?它会获取或返回错误或空值吗?
是的,可能存在没有可用缓存位置的情况。
如果不存在缓存位置,
getCurrentPosition
方法将尝试从设备获取新位置。如果它无法检索位置(例如,由于缺乏信号或权限),它将返回错误,例如 POSITION_UNAVAILABLE
。如果缓存值不可用,它不会返回 null
或缓存值。