因?yàn)樾枰玫匠鞘芯幋acitycode ,所以導(dǎo)入了高德SDK做定位然后獲取citycode.
在官方Demo中,一切正常。但是把sdk導(dǎo)入自己的項(xiàng)目,出現(xiàn)了各種問(wèn)題,首先是報(bào)錯(cuò),28個(gè)紅色,解決方法我是在簡(jiǎn)書(shū)看到的,如下
http://www.itdecent.cn/p/bc9462f9c1e9
解決了報(bào)錯(cuò)問(wèn)題,又遇到了一個(gè)新的問(wèn)題,定位超級(jí)慢?。?!在Demo中一兩秒就可以完成定位,在我項(xiàng)目中,足足11秒才能完成。查了各種資料都沒(méi)找到方法。最后,終于解決了,解決方法就是把設(shè)置的超時(shí)時(shí)間設(shè)置小一些。不知道為什么會(huì)管用,但是的確解決了。Demo中設(shè)置的超時(shí)時(shí)間比較大,也不影響定位進(jìn)程,具體的原因我也還不清楚,這里先把方法分享出來(lái)。
//設(shè)置定位超時(shí)時(shí)間 我這里都設(shè)置了兩秒
[self.locationManager setLocationTimeout:2];
//設(shè)置逆地理超時(shí)時(shí)間
[self.locationManager setReGeocodeTimeout:2];
以上是我剛發(fā)現(xiàn)問(wèn)題時(shí)的解決辦法,后來(lái)發(fā)現(xiàn),并不應(yīng)該這樣解決,真正的解決方法是,把精確度設(shè)置低一些,然后超時(shí)時(shí)間設(shè)置幾秒,那就是自己定了。
//設(shè)置期望定位精度
[self.locationManager setDesiredAccuracy:kCLLocationAccuracyThreeKilometers];
設(shè)置精確度是3千米,這樣定位個(gè)城市,沒(méi)問(wèn)題的。而且定位速度超級(jí)快。
END