当前位置的注释

时间:2011-09-26 04:53:48

标签: iphone objective-c ios

我正在进行的项目中,我在按下它时添加了一个按钮,它应该将我带到我当前在地图上的位置,并且应该显示蓝色指示符以指示位置,这是代码:

-(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];
  }
}

这可以在模拟器上正常工作,你可以在图像中看到它,

on top is the button on pressing which i get the location statically passed on second loop but on iPhone it won't works

但是当我尝试在iPhone上进行测试时它会崩溃。可能有任何一个指出的原因可能是什么?感谢

2 个答案:

答案 0 :(得分:1)

首先,我想告诉你,从模拟器你无法获得当前位置。在您的代码中,您只使用了静态lat。长。对于我共享链接的设备,请检查。

http://pastebin.com/Vv1wvyBh

可能对您有所帮助:))

感谢。

答案 1 :(得分:0)

所以我发现使用iPhone对大多数MKMapView问题都是一个刷新问题。我建议重置一些地图属性,重新创建地图,或确保设置显示用户在map_view中的位置。重置地图的属性通常包括location = map.centerCoordinate,map setCenter:location。嗯,那么我认为它可能是一个记忆问题?像是在错误的时间发布的注释还是地图本身被释放?