簡體   English   中英

將疊加層添加到viewcontroller.m中的現有引腳

[英]add overlays to existing pins in viewcontroller.m

我是編程和obj-c的新手,目前正在開發基於地圖的iPhone應用程序,該應用程序將查找不同的運動設施。 我希望每個圖釘顯示一個不同的覆蓋圖,例如圖片覆蓋圖會很好,我將圖片添加到資源文件夾中,並且我希望每個圖釘通過單擊顯示不同的圖片。 我的示例僅包含一個帶有其坐標的圖釘。 現在,我已經知道從哪里開始,希望您能幫助我!

提前致謝 :)

這是我的代碼:

[mapView addAnnotation:[MapLocation mapLocationtWithTitle:@"Beckomberga Sim och Sporthall" subtitle:@"Söderberga Allé 80" andCoordinate:(CLLocationCoordinate2D){ 59.35817, 17.89740 }]]; 
}

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
 if([annotation isKindOfClass:[MapLocation class]])
 {
  MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PinAnnotation"];
  pin.canShowCallout = YES;
  pin.animatesDrop = NO;
  pin.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];


   pin.pinColor = MKPinAnnotationColorRed;

   pin.pinColor = MKPinAnnotationColorGreen;

  [pin autorelease];
  return pin;
 }
 return nil;
}

維克多

這是您需要做的:

  • 創建一個MKAnnotation的子對象,它將代表您的位置,SportsFacilityLocation
  • 該對象將包含標題,字幕和位置字段。 這符合MKAnnotation協議
  • 接下來,您需要一個對象,該對象將是MKAnnotationView,SportsFacilityMapView的子類。
  • 最后,在您的viewForAnnotation委托方法中,您需要檢查每種注釋類型,然后從該注釋類型中確定要返回SportsFacilityMapView

查看有關如何實施Annotation的文檔,然后查看AnnotationView。 我在家中有一些示例代碼,如果需要的話我會在稍后發布。 祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM