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