Re: [問題] MKMapView + 飛航模式 + WiFi的Bug?

看板MacDev作者 (←這人是超級笨蛋)時間12年前 (2013/06/19 23:36), 編輯推噓1(104)
留言5則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《Piceman (派斯麵)》之銘言:

06/19 19:43,
按照文內的意思來講的話,連上Wifi要定位也不是每次都可以
06/19 19:43

06/19 19:43,
要看這個Wifi的路由有沒有在Apple的清單內
06/19 19:43

06/19 19:44,
在的話就會連上skyhook來定位 不在的話就不會..
06/19 19:44

06/19 19:44,
但是還是很奇怪啊,我在同個Wifi底下,開我的app不能定位
06/19 19:44

06/19 19:45,
開內建地圖或是Google Map就定得到位...這是怎麼回事
06/19 19:45

06/19 19:45,
不過用CLLocationManager倒是可以解決問題啦..
06/19 19:45

06/19 19:45,
只是我好想知道到底為什麼哪裡出了問題...@@
06/19 19:45

06/19 19:47,
WeChat InstaWeather Siri facebook都可以...
06/19 19:47

06/19 20:52,
為什麼..你不是用 CLLocation 找位置?你是用什麼找的?
06/19 20:52

06/19 20:56,
先用showsUserLocation定到位置,之後處理都是用CLLocatio
06/19 20:56

06/19 20:56,
這樣沒錯呀~~兩個方法我記得都可以..@@
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)

06/20 00:04, , 1F
謝u大回答,在stackoverflow問也有人說是cache
06/20 00:04, 1F

06/20 00:05, , 2F
今天要休息了,明天再試試看
06/20 00:05, 2F

06/20 00:05, , 3F
不過我從公司回家之後,開飛航,開Wifi,開定位,
06/20 00:05, 3F

06/20 00:05, , 4F
然後再開其他地圖軟體,也是馬上就定位到我家的位置..
06/20 00:05, 4F

06/20 00:06, , 5F
那這個cache..從哪來..又為何只有我的app沒有cache?
06/20 00:06, 5F
文章代碼(AID): #1HmT0RcC (MacDev)
文章代碼(AID): #1HmT0RcC (MacDev)