我正在进行的项目中,我在按下它时添加了一个按钮,它应该将我带到我当前在地图上的位置,并且应该显示蓝色指示符以指示位置,这是代码:
-(IBAction)gotoLocation
{
if(curntloc)
{
MKCoordinateRegion mapRegion;
mapRegion.center = mapView.userLocation.coordinate;
mapRegion.span.latitudeDelta = 0.0112872;
mapRegion.span.longitudeDelta = 0.0112872;
[self.mapView setRegion:mapRegion animated: YES];
}
else
{
curntloc = [[CLLocation alloc] initWithLatitude:21.192415 longitude:72.821159];
MKCoordinateRegion mapRegion;
mapRegion.center = mapView.userLocation.coordinate;
mapRegion.span.latitudeDelta = 0.0112872;
mapRegion.span.longitudeDelta = 0.0112872;
[self.mapView setRegion:mapRegion animated: YES];
}
}
这可以在模拟器上正常工作,你可以在图像中看到它,
但是当我尝试在iPhone上进行测试时它会崩溃。可能有任何一个指出的原因可能是什么?感谢
答案 0 :(得分:1)
首先,我想告诉你,从模拟器你无法获得当前位置。在您的代码中,您只使用了静态lat。长。对于我共享链接的设备,请检查。
可能对您有所帮助:))
感谢。
答案 1 :(得分:0)
所以我发现使用iPhone对大多数MKMapView问题都是一个刷新问题。我建议重置一些地图属性,重新创建地图,或确保设置显示用户在map_view中的位置。重置地图的属性通常包括location = map.centerCoordinate,map setCenter:location。嗯,那么我认为它可能是一个记忆问题?像是在错误的时间发布的注释还是地图本身被释放?