1
3
你正在使用的代码正在工作。 “maheshvirus”所说的是 cordova-plugin-request-location-accuracy “该插件实际上允许您提示用户打开GPS的高定位精度(并检查它是否首先打开),GPS将“使用GPS、WiFi、蓝牙或蜂窝网络确定位置”。我在应用程序中使用相同的插件,效果很好。 通过快速搜索,ios似乎没有高精度的模式,因为默认情况下ios使用gps、wifi、蓝牙等来获取你的位置……你不能像android那样打开或关闭它,这就解释了为什么ios总是那么快知道你在哪里。所以在android设备上,你需要提示用户打开它,插件由@maheshvirus提到。除非用户将其模式更改为省电模式或仅设备定位模式,否则它将始终保持打开状态。 个人电脑应该有更快的互联网,不应该有数据上限或严格的限制(除非网络中立性现在已经完全消失或你在其他可怕的地方),所以你的浏览器应该能够通过你连接的调制解调器/路由器很容易和快速地找到你-请看 this post answer 更多细节。 解决方案 我现在太累了,无法给你提供所需的工作代码示例,但是 使用geolocation.watchPosition()而不是getcurrentPosition()可以让您更快地获得位置 以我的经验-和 this user seems to have tested it 是的。 watchPosition'用于注册处理程序函数,该函数将在每次设备位置更改时自动调用。watchPosition函数的使用也几乎与getcurrentPosition完全相同,除非在调用它时必须为它分配一个id,并在完成时使用geolocation.clearWatch(idname)。 Here is the docs for watchPosition() 是的。所以最酷的是,如果用户移动了,或者手机定位服务认为他们已经移动了,它就不必再向设备gps打电话(这就是为什么要这么长时间),因为gps已经在监听了。 抱歉,我没有提供一个实际的代码修复,但我希望这些细节有帮助。当我在不同的设备上使用getcurrentposition时,也遇到了这个问题。 实现watchPosition()应该没有问题,而且应该立即看到android位置延迟的改进—特别是当您让用户使用该插件打开高精度位置模式时 ' Cordova插件请求定位精度 ' |
2
1
代码没有问题。我在安卓手机上也面临同样的问题。 我试过的解决办法。 手动解决方案
一旦你在谷歌地图上找到了当前的位置,你可能会将该位置输入到你的应用程序中。 使用插件的解决方案
|
3
0
我也遇到过类似的情况
|
Zami Coskula · 未捕获引用错误:未定义L 6 年前 |
beginner · Onesignal推送通知到特定类别 6 年前 |
Kumar · 离子行显示同一行中的所有元素 6 年前 |