iPhone JavaScript Web App 的地理位置

Posted

技术标签:

【中文标题】iPhone JavaScript Web App 的地理位置【英文标题】:Geolocation for iPhone JavaScript Web App 【发布时间】:2017-08-02 20:41:00 【问题描述】:

我正在用 javascript 构建一个旨在用于移动设备(android 和 iPhone)的全栈 Web 应用程序。在 Android 手机上使用 html5 Geolocation API 效果很好,但 iPhone 似乎存在授权问题。当作为 iPhone 用户与 Web 应用程序交互时,ios 会自动拒绝用户使用定位服务的权限,因此与 Android 手机不同,没有弹出窗口让用户选择允许定位服务。我对 iPhone 定位服务设置做了很多修改,但无济于事。是否有 JavaScript sn-p 允许用户允许位置服务?谢谢。

【问题讨论】:

【参考方案1】:

您的 Safari 位置设置可能设置为 OFF,您可以在此处更改:Settings > Privacy > Location Services > Safari

你也可以试试这样的:

if (navigator.geolocation) 
    navigator.geolocation.getCurrentPosition(successFunction);
 else 
    // Make API call to the GeoIP services

并使用http://ip-api.com之类的服务(但基于ip的地理数据不是很准确)

在这里您可以找到有关 getCurrentPosition() 的更多信息:

https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/GettingGeographicalLocations/GettingGeographicalLocations.html

【讨论】:

ip-api.com 相当准确,但您必须连接到 Wi-Fi 才能使用它。我能够使用freegeoip.net's API,但地理数据显示我在休斯顿(当时我实际上在奥斯汀)。这可能是目前必须解决的问题,我将允许用户编辑此 API 生成的纬度/经度。太糟糕了,我仍然不知道如何通过我的网络应用程序访问 iPhone 上的定位服务!无论如何感谢您的帮助。

以上是关于iPhone JavaScript Web App 的地理位置的主要内容,如果未能解决你的问题,请参考以下文章

Android WebView与JavaScript交互实现Web App

Web APP开发阅读资料总结

iPhone Web 应用程序中的 OAuth 回调

web app开发入门

web app iphone4 iphone5 iphone6 iphone6 Plus响应式布局 适配代码

在 Iphone 上禁用 Progressive Web App 上的后退按钮