【问题标题】:Google Maps Geolocation API on PhonegapPhonegap 上的 Google Maps Geolocation API
【发布时间】:2017-12-29 16:04:05
【问题描述】:

我正在使用 Phonegap 开发一个 Android 应用程序。除了农村地区的地理定位功能外,一切都很好。测试时,离线设备无法使用标准浏览器的地理定位 API 找到位置。如果没有 sim 卡,就无法进行蜂窝塔三角测量,也没有任何可用的 wifi 热点,因此定位设备的唯一方法是仅 GPS(我猜)。但是等了15分钟后我放弃了。

然后我切换到谷歌地图,我惊呆了我的设备定位速度之快。我确保我的位置缓存是空的。我不明白 Google 是如何在特定情况下如此迅速地找到我的。我读过原始 GPS 位置只需 10 分钟。当我用 Iphone 在飞行模式下回到家中时,我得到了同样的结果。令人印象深刻!

现在我想从 Cordova Geolocation 切换到 Google Geolocation API,但在我的 Phonegap 环境中找不到任何这样做的资源。我正在使用 Leaflet,并希望用户单击一个按钮以在移动设备上快速准确地定位自己。有没有办法将 Geolocation API(没有谷歌地图 API)集成为 JS,然后调用函数 locateMeNow() ?

【问题讨论】:

    标签: android cordova geolocation leaflet google-geolocation


    【解决方案1】:

    如果我理解正确,您需要使用 Android 原生 API,使用 cordova-plugin-background-geolocation 插件。

    先用ANDROID_ACTIVITY_PROVIDER模式试试吧,获取位置最快:

    backgroundGeolocation.configure(callbackFn, failureFn, {
        locationProvider: backgroundGeolocation.provider.ANDROID_ACTIVITY_PROVIDER,
        desiredAccuracy: 1,
        stationaryRadius: 1,
        interval: 1 
    }); 
    backgroundGeolocation.start(startOkCb, startErrorCb);
    

    ANDROID_DISTANCE_FILTER_PROVIDER 模式需要大约 20 秒来发送第一个位置,因为它预先计算了第一个收集的位置。使用这两种模式以及其他 conf 选项并根据您的需要进行调整。

    【讨论】:

      猜你喜欢
      • 2016-10-22
      • 2013-07-15
      • 2020-08-11
      • 1970-01-01
      • 2014-11-05
      • 2014-10-12
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      相关资源
      最近更新 更多