看板 MacDev 關於我們 聯絡資訊
※ 引述《Piceman (派斯麵)》之銘言:
kiii210:按照文內的意思來講的話,連上Wifi要定位也不是每次都可以 06/19 19:43
kiii210:要看這個Wifi的路由有沒有在Apple的清單內 06/19 19:43
kiii210:在的話就會連上skyhook來定位 不在的話就不會.. 06/19 19:44
kiii210:但是還是很奇怪啊,我在同個Wifi底下,開我的app不能定位 06/19 19:44
kiii210:開內建地圖或是Google Map就定得到位...這是怎麼回事 06/19 19:45
kiii210:不過用CLLocationManager倒是可以解決問題啦.. 06/19 19:45
kiii210:只是我好想知道到底為什麼哪裡出了問題...@@ 06/19 19:45
kiii210:WeChat InstaWeather Siri facebook都可以... 06/19 19:47
Piceman:為什麼..你不是用 CLLocation 找位置?你是用什麼找的? 06/19 20:52
kiii210:先用showsUserLocation定到位置,之後處理都是用CLLocatio 06/19 20:56
kiii210:這樣沒錯呀~~兩個方法我記得都可以..@@ 06/19 20:56
以下憑印象 CLLocationManager 有一個 cache 會記錄你上一次的位置 這個 cache 是 system-wide value, 也就是只要你在任何時刻定過位 所有的 CLLocationManager 在要求位置時就會獲得一個 cached location 另一方面, MKMapView 的 user location 雖然也是基於 Core Location 實作 但是它並沒有保證經過 CLLocationManager 所以並不保證可以同樣獲得 cache 裡面的定位記錄 你可以先試試看在你的程式裡面用 CLLocationManager 試試看是不是能要到位置 要到之後可以看一下那個 CLLocation object 的 timestamp 如果以上解釋無誤的話, 你應該會發現這個位置並不是最新的, 只是 cache 這也是為什麼其他 apps 看起來好像神奇的獲得了你的位置 -- "問おう、貴方が私のマスターか?" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.81.146 ※ 編輯: uranusjr 來自: 114.32.81.146 (06/19 23:38)
kiii210:謝u大回答,在stackoverflow問也有人說是cache 06/20 00:04
kiii210:今天要休息了,明天再試試看 06/20 00:05
kiii210:不過我從公司回家之後,開飛航,開Wifi,開定位, 06/20 00:05
kiii210:然後再開其他地圖軟體,也是馬上就定位到我家的位置.. 06/20 00:05
kiii210:那這個cache..從哪來..又為何只有我的app沒有cache? 06/20 00:06