简要总结
Location Command
这页说明书在讲一个“问位置”的小工具。就像你可以问妈妈“我们现在在哪里呀?”一样,这个小工具可以帮你的设备问自己“我现在在哪里?”。它需要你先在设置里打开“允许问位置”的开关,然后才能用。如果你在玩一个需要知道你在哪里的游戏或应用,就可以看看这页,学学怎么让它知道你的位置。
五岁小孩版解释
这个“问位置”的小工具,名字叫 location.get。它就像一个藏在设备里的小侦探,当你需要的时候,可以派它出去找找“我现在在哪儿?”。不过,在用这个小侦探之前,你得先告诉设备你允许它去找。
首先,你要去设备的设置里,找到给这个小侦探的“通行证”。这个通行证有好几种选择:
- 完全不让去:就像把侦探关在家里,它哪儿也去不了。
- 只在用的时候可以去:就像侦探只在你打开某个特定玩具箱的时候才工作。
- 可以精确地找:这就像给侦探一个超级放大镜,它能非常准确地告诉你你在哪个小格子地上。如果不打开这个,它可能只能告诉你在哪个大公园里。
在手机上,你可能会看到一个选择器让你选“关掉”或者“在用的时候”。电脑上可能不太一样。选好了之后,真正的决定权还在你的手机或电脑系统手里,它可能还会再问你一次“你确定吗?”。
现在,我们可以派小侦探 location.get 出去工作了。你需要通过一个叫 node.invoke 的指令来叫它。告诉它:
- 等多久 (
timeoutMs):比如,只等10秒钟,如果10秒内没找到就回来报告“超时啦”。 - 要多久以内的位置 (
maxAgeMs):比如,只要15秒以内新鲜找到的位置,不要昨天的旧位置。 - 要多么准确 (
desiredAccuracy):可以告诉它要“大概的”(coarse)、“平衡的”(balanced)还是“精确的”(precise)位置。
小侦探回来后会给你一张“位置报告单”,上面会写着:
- 你在哪条街附近 (
lat,lon)。 - 它找得有多准 (
accuracyMeters)。 - 你在几楼那么高 (
altitudeMeters)。 - 你走得快不快 (
speedMps)。 - 你面朝哪个方向 (
headingDeg)。 - 什么时候找到的 (
timestamp)。 - 是不是用精确模式找到的 (
isPrecise)。 - 是用什么找到的 (
source),比如GPS(像天上的星星指路)、Wi-Fi或者手机信号塔。
要小心的事情:
- 如果小侦探回来说
LOCATION_DISABLED,意思是你在设置里根本没打开“允许问位置”的开关。 - 如果说
LOCATION_PERMISSION_REQUIRED,意思是虽然你选了“在用的时候”,但手机系统还没真正同意呢,你得去系统设置里再看看。 - 在安卓手机上,当你把应用放到后台(比如按了主页键去看别的)时,小侦探就不工作了,会回来说
LOCATION_BACKGROUND_UNAVAILABLE。所以,想让小侦探一直找位置,最好让应用一直开着在前台。 - 如果等太久没找到,它会说
LOCATION_TIMEOUT。 - 如果设备的位置功能完全坏了,它会说
LOCATION_UNAVAILABLE。
最后,记住只有在用户(就是你!)明白为什么要知道位置,并且已经在设置里打开了位置开关的时候,才应该让这个小侦探去工作哦。