簡體   English   中英

xcode-如何在沒有CoreLocation的情況下找到您的當前位置

[英]xcode - How to find your current location without CoreLocation

我已經使用Google Maps SDK開發了一個基於位置的應用程序。 沒有位置服務(即位置服務不允許),如何獲取當前位置。 我想使用蜂窩數據或wifi網絡獲取當前位置

要使用wifi或蜂窩網絡獲取位置,您必須使用CoreLocation並獲得用戶的許可才能獲取其位置。

根據Apple Docs

對於您使用的服務,請准確配置與該服務關聯的所有屬性。 核心位置通過在不需要時關閉硬件來積極管理電源。 例如,將位置事件的期望精度設置為一公里,可以使位置管理器靈活地關閉GPS硬件,而僅依靠WiFi或蜂窩無線電,這可以節省大量電能

因此,考慮到您對應用程序所要求的准確性,CoreLocation決定了從何處獲取位置。 但是您仍然需要許可。

如果您只需要這個國家或地區,Dan在他的回答中建議的基於IP的方法可能足以滿足您的需求。

我認為你不能。 更重要的是,蘋果公司會允許這種事情嗎? 可能不是,這取決於您的處理方式。

但是我想到的是,您可以上網查看是否有一些在線服務可以通過簡單的API請求將您的當前位置傳遞給您。 它很可能會使用用戶的IP地址來確定您的位置。 但是,如果用戶使用的東西像VPN一樣簡單,則不會返回正確的位置。 最后,如果您使用這種方法,請確保首先提示用戶輸入其權限,否則Apple將拒絕您的應用程序。

更新

這是一項值得一看的免費服務: http : //www.ipaddresslabs.com/IP-GeoLoc-ip-address-geolocation-locator-lookup-database-software-geography-country-region-state-county-全省城市郵政,郵遞區號,城域碼-經緯度@ IP-GeoLoc

它允許您傳遞用戶的IP地址以換取其當前位置。 我相信它會傳回一個非常容易解析的簡單JSON文件。 然后,您可以根據需要在應用中使用已解析的位置信息。

這里的限制是,如果用戶沒有互聯網連接,則將無法使用。 因此,如果您在森林中或其他地方,那么這可能不是最佳選擇。

您確實應該使用CoreLocation ,它使用GPS並會返回一組相當准確的坐標。

您可以通過使用CLLocationManager擺脫不必實現Core Location框架的煩惱,該技術在Core Location和MKMapViewDelegate之間在技術上是分開的。

具體來說,確實執行了緯度,經度,中心,跨度和區域的update userLocation函數來查找您的當前位置。

不要忘記在info.plist文件中添加“隱私-使用中使用時的位置描述”權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM