因为需要用到城市编码citycode ,所以导入了高德SDK做定位然后获取citycode.
在官方Demo中,一切正常。但是把sdk导入自己的项目,出现了各种问题,首先是报错,28个红色,解决方法我是在简书看到的,如下
http://www.jianshu.com/p/bc9462f9c1e9
解决了报错问题,又遇到了一个新的问题,定位超级慢!!!在Demo中一两秒就可以完成定位,在我项目中,足足11秒才能完成。查了各种资料都没找到方法。最后,终于解决了,解决方法就是把设置的超时时间设置小一些。不知道为什么会管用,但是的确解决了。Demo中设置的超时时间比较大,也不影响定位进程,具体的原因我也还不清楚,这里先把方法分享出来。
//设置定位超时时间 我这里都设置了两秒
[self.locationManager setLocationTimeout:2];
//设置逆地理超时时间
[self.locationManager setReGeocodeTimeout:2];
以上是我刚发现问题时的解决办法,后来发现,并不应该这样解决,真正的解决方法是,把精确度设置低一些,然后超时时间设置几秒,那就是自己定了。
//设置期望定位精度
[self.locationManager setDesiredAccuracy:kCLLocationAccuracyThreeKilometers];
设置精确度是3千米,这样定位个城市,没问题的。而且定位速度超级快。
END