MKPointAnnotation覆盖了我的MKMapView

时间:2014-04-24 23:27:15

标签: objective-c mkmapview layer mkpointannotation

这是问题,也是我想要实现的目标 http://i.stack.imgur.com/XpDQn.jpg

这是我试图实现我的目标 http://i.stack.imgur.com/lF5hy.png

和我的didUpdateLocations委托

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
    CLLocation* location=[locations lastObject];


    MKPointAnnotation*annotation=[[MKPointAnnotation alloc]init];
    annotation.coordinate=location.coordinate;
    annotation.title=@"Me";
    annotation.subtitle=@"Current location";
    MKCoordinateRegion region;
    region.center=location.coordinate;

    if(myLocation!=nil){
        [_mapAsset removeAnnotation:myLocation];
        myLocation=nil;
    }

    [_mapAsset addAnnotation:annotation];
    myLocation=annotation;

    [self zoomToFitMapAnnotations:_mapAsset];
}

正如你在ScreenShot中看到的,我的MKPointAnnotation覆盖了我的MKMapView。我试图将我的mapView放在另一个UIView中(使用它像容器一样),但它没有用。我相信为什么会发生这种情况,因为我将我的注释放在代码中,这意味着在所有层上。

我使用的是iOS7.1 SDK和Xcode5。任何建议都很有用。

提前致谢

1 个答案:

答案 0 :(得分:0)


感谢@Evan_Mulawski并回答here 我终于做了我尝试过的事情。

首先,我删除了我的所有mapview及其containerview的属性,如setShadowColor,cornerradiues,masksToBounds,例如。

并且还删除了我在故事板中所做的事情,以使它们焕然一新。

然后我添加了这些代码

[[_viewContainer layer] setShadowOpacity:0.55f]; [[_viewContainer layer] setShadowRadius:15.0f]; [[_viewContainer layer] setCornerRadius:8.0f]; [[_viewContainer layer] setBorderWidth:1.0f];

并解决了我的问题。谢谢你的帮助