刚看完百度SDK(地图定位功能),官方SDK集成挺简单的,但集成之后出现了两个问题,现在终于解决。
* 运行时出现bug:kCLErrorDomain Code=0,error= “”;
这是因为没有获取到定位的数据。下面是解决方法。
(1)进入项目,点击eidt scheme
出现下面的图片
看allow Location Simulation选项选中。
(2)点击模拟器,在电脑最上的模拟器工具条中,选中Debug-Location-Custom Location…
设置这两步,就解决了这个问题。
* 定位的时候总是显示北京。不会显示当前位置。
在定位结束,用户更新位置后,在- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation 方法里设置当前位置显示。
/**
*用户位置更新后,会调用此函数
*@param userLocation 新的用户位置
*/
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
{
// NSLog(@"didUpdateUserLocation lat %f,long %f",userLocation.location.coordinate.latitude,userLocation.location.coordinate.longitude);
[_mapView updateLocationData:userLocation];
CLLocationCoordinate2D coor;
coor.latitude = userLocation.location.coordinate.latitude;
coor.longitude = userLocation.location.coordinate.longitude;
[_mapView setCenterCoordinate:coor animated:YES];
}
模拟器运行后还是显示北京,后来换了真机可以显示当前位置了。