MonoTouch MapKit - jelölések - hozzátéve egy gombot, hogy buborék

szavazat
7

Bárki, aki tudja, ha van egyébként, hogy egy gomb-ra az értékelés?

Szeretném a helyét, hogy a választható - így mondhatjuk .. válassza ki a helyet, és kap minden az eseményeket ezen a helyen a gombra kattintva.

van erre lehetőség?

w: //

A kérdést 02/03/2010 18:19
a forrás felhasználó
Más nyelveken...                            


2 válasz

szavazat
13

Itt a kód azt használják időjelzésemhez, tartalmaz egy gombot a jobb oldalon a buborék. Beállíthatjuk az IBAction, hogy álljon egy új nézetet a verembe, hogy megjelenítse, amit akarsz

- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation
{
    MKPinAnnotationView *pinAnnotation = nil;
    if(annotation != mapView.userLocation) 
    {
        static NSString *defaultPinID = @"myPin";
        pinAnnotation = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinAnnotation == nil )
            pinAnnotation = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];

        pinAnnotation.canShowCallout = YES;

        //instatiate a detail-disclosure button and set it to appear on right side of annotation
        UIButton *infoButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        pinAnnotation.rightCalloutAccessoryView = infoButton;

    }

    return pinAnnotation;
}
Válaszolt 02/03/2010 20:39
a forrás felhasználó

szavazat
5

Én csak segített valaki ezzel az objektív c, de biztos vagyok benne, a koncepció ugyanaz a mono. Be kell, hogy hozzon létre egy egyéni MKAnnotationView objektumot, és felülírja a GetViewForAnnotation (viewForAnnotation az obj-c) módszeréhez MKMapViewDelegate osztály ... nézd meg a többi kérdést .

Amikor létrehozza a saját MKAnnotationView kifogást ez alapvetően UIView készült térkép kommentárok ... akkor csak add meg a gombot, és egyéb információk, amelyek a nézetet, és akkor jelennek meg, amikor a felhasználó megnyomja a kommentár.

Itt néhány durva kódot a küldött módszer:

public override MKAnnotationView GetViewForAnnotation(
                                         MKMapView mapView,NSObject annotation) {
      var annotationId = "location";
      var annotationView = mapView.DequeueReusableAnnotation(annotationId);
      if (annotationView == null) {
         // create new annotation
         annotationView = new CustomAnnotationView(annotation, annotationId);
      }
      else {
         annotationView.annotation = annotation;
      }
      annotation.CanShowCallout = true;
      // setup other info for view
      // ..........

      return annotationView;
   }
}
Válaszolt 02/03/2010 18:30
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more