English 中文(简体)
MKPinAnnotation博士 View
原标题:Dropping a MKPinAnnotationView with animation
  • 时间:2012-05-13 00:29:09
  •  标签:
  • iphone

我混淆了这项工作的方式。 I m 创建CLGeocoder,以根据扼杀性价值推卸胎。 我有:

- (void)placeMarkFromString:(NSString *)address {
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {
        [placemarks enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            NSLog(@"%@", [obj description]);
        }];

        // Check for returned placemarks
        if (placemarks && [placemarks count] > 0) {
            CLPlacemark *topResult = [placemarks objectAtIndex:0];

            // Create an MKPlacemark and add it to the mapView
            MKPlacemark *place = [[MKPlacemark alloc] initWithPlacemark:topResult];
            AddressAnnotation *anAddress = [[AddressAnnotation alloc] init];
            anAddress.address = place.subThoroughfare;
            anAddress.street = place.thoroughfare;
            anAddress.city = place.locality;
            anAddress.state = place.administrativeArea;
            anAddress.zip = place.postalCode;
            anAddress.name = place.name;

            //[self.mapView addAnnotation:place];
            [self.mapView addAnnotation:anAddress];
            self.currentPlacemark = place;

            // Center map on that region
            MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(topResult.location.coordinate, 2000, 2000);
            MKCoordinateRegion adjustedRegion = [_mapView regionThatFits:region];
            [_mapView setRegion:adjustedRegion animated:YES];
        }
        else {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No Results Found" message:@"" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles: nil];
            [alert show];
        }
        if (error) {
            NSLog(@"Error: %@", [error localizedDescription]);
        }
    }];
}

因此,我原来在地图上加上我的MKPlacemark,显示红pin。 然而,这并非偶然。 我基本上希望能够放弃3个MKPinAnnotationView的颜色中的任何一种,拥有一个叫.,并拥有名称/称号,即该地点的名称和地址,类似于Google地图。 但是,我没有看到任何悲观。

因此,我认为,也许我需要创建符合MKAnnotation等级的我自己的物体。 因此,我这样做了,但当我试图将其添加到该地点时,我看不出它的含义。 观点代表方法。 这种方法在这里是:

- (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id<MKAnnotation>)annotation {
    static NSString *placeMarkIdentifier = @"SimplePinIdentifier";
    if ([annotation isKindOfClass:[AddressAnnotation class]]) {
        MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[theMapView dequeueReusableAnnotationViewWithIdentifier:placeMarkIdentifier];
        if (annotationView == nil) {
            annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:placeMarkIdentifier];
        }
        else {
            annotationView.annotation = annotation;
        }
        annotationView.enabled = YES;
        annotationView.animatesDrop = YES;
        annotationView.draggable = YES;
        annotationView.pinColor = MKPinAnnotationColorPurple;
        annotationView.canShowCallout = YES;


        // Create a button for the annotation
//        UIButton *rightArrowButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
//        annotationView.rightCalloutAccessoryView = rightArrowButton;
//        [self performSelector:@selector(openCallout:) withObject:annotation afterDelay:0.5];
        return annotationView;
    }
    return nil;

}

因此,我怀疑我的问题是,我是否需要制造自己的反对,我是否在正确的轨道上,我是错的,为什么在一例情况下,我会增加一个MKPlacemark物体,然后如果我这样做,我会增加一个目标,但不一定是MKPlacemark的子级。 感谢!

最佳回答

首先,你在使用习惯通知标语时可能看不到通知(参见:AddressAnnotation)的理由是:coordination。 尚未确定(因此,它出现在0时)。

在<代码>MarkplaceFromString方法中,该代码列出了<代码>AddressAnnotation但并非<代码>coordination的许多特性,因此该说明在预期情况下并未出现。

如果你制定<条码>协调,则该编码将出现在预期和估算中。


Regarding the other question as to why you see no animation when using an MKPlacemark:

否则,地图观测将形成<代码>MKPinAnnotation View with a re pin but with animatesDrop set to NO

因此,在<代码>viewForAnnotation上,你必须明确填写。 就像你一样,请上<代码>。

如果您的所有说明都将使用<条码>。 页: 1 View with animatesDrop set to YES in all other cases.

问题回答

暂无回答




相关问题
Code sign Error

I have created a new iPhone application.I have two mach machines. I have created the certificate for running application in iPhone in one mac. Can I use the other mac for running the application in ...

ABPersonViewController Usage for displaying contact

Created a View based Project and added a contact to the AddressBook using ABAddressBookRef,ABRecordRef now i wanted to display the added contact ABPersonViewController is the method but how to use in ...

将音频Clips从Peter改为服务器

我不禁要问,那里是否有任何实例表明从Peit向服务器发送音响。 I m不关心电话或SIP风格的解决办法,只是一个简单的袖珍流程......

• 如何将搜查线重新定位?

我正试图把图像放在搜索条左边。 但是,问题始于这里,搜索条线不能重新布署。

热门标签