回答
您正在尋找地圖覆蓋MKOverlayView
。
檢查這些教程:
創建覆蓋
- 創建
MKOverlayView
創建的MKOverlayView
像一個子類:
.H #進口 #進口
@interface MapOverlayView : MKOverlayView
{
}
@end
.M
#import "MapOverlayView.h"
@implementation MapOverlayView
- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)ctx
{
UIImage *image = [UIImage imageNamed:@"yourImage.png"];
CGImageRef imageReference = image.CGImage;
MKMapRect theMapRect = [self.overlay boundingMapRect];
CGRect theRect = [self rectForMapRect:theMapRect];
CGContextDrawImage(ctx, theRect, imageReference);
}
@end
- 添加覆蓋
實施viewForOverlay:
,在裏面創建覆蓋並添加到地圖。
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
MapOverlay *mapOverlay = (MapOverlay *)overlay;
MapOverlayView *mapOverlayView = [[[MapOverlayView alloc] initWithOverlay:mapOverlay] autorelease];
return mapOverlayView;
}
試試這個
annotation = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"try"];
annotation.canShowCallout = YES;
annotation.image = [UIImage imageNamed:@"image.png"];
return annotation;
,不使用annotation.animatesDrop屬性。
你可以image
財產像viewForAnnotation:
方法波紋管與MKAnnotationView
做到這一點..
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
static NSString *identifier = @"Current";
MKAnnotationView *annotationView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if (annotationView == nil)
{
annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier] autorelease];
}
if (annotation == mapView.userLocation)
return nil;
annotationView.image = [UIImage imageNamed:@"yourImageName.png"];
annotationView.annotation = annotation;
annotationView.canShowCallout = YES;
return annotationView;
}
在哪裏設置圖像位置? – Azhar
當你在你的課堂中添加lat-long的任何位置時,此代理方法將自動調用,並且此圖像將隨該lat-log放置在該位置上。 –
@NG_SE請參閱此鏈接http上的mkmapview上定製引腳的演示示例://iphoneapp-dev.blogspot.in/2011/01/how-to-place-animated-annotations-on.html –
如果你在說什麼MKMapView
:
要顯示的圖像而不是銷的註釋,你需要重寫的MKMapView的方法
- (MKAnnotationView *)viewForAnnotation:(id <MKAnnotation>)annotation
像這樣:
- (MKAnnotationView *)viewForAnnotation:(id <MKAnnotation>)annotation{
static NSString* annotationIdentifier = @"Identifier";
MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier];
if(annotationView)
return annotationView;
else
{
MKAnnotationView *annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationIdentifier];
annotationView.canShowCallout = YES;
// here you need to give the image you want instead of pin
annotationView.image = [UIImage imageNamed:[NSString stringWithFormat:@"balloon.png"]];
return annotationView;
}
return nil;
}
如何設置圖片位置? – Azhar
請參閱:http:// stackoverflow。com/questions/10520274/custom-mkannotationview -with-frame-icon-and-image –
- 1. System.Byte []顯示在gridview而不是圖像?
- 2. 圖像顯示在本地而不是在github上頁
- 3. CgridView顯示圖像而不是文字
- 4. 顯示圖像而不是URL
- 5. PHP 1顯示,而不是圖像
- 6. 顯示圖像而不是文本
- 7. 顯示覆選框而不是圖像
- 8. 顯示圖像而不是combobox
- 9. 顯示圖像而不是單選按鈕而不使用JQuery
- 10. Kinect只顯示灰度圖像而不是彩色的圖像
- 11. 顯示圖像,而上傳
- 12. 如何顯示活動指標而不是圖庫圖像?
- 13. Rails回形針顯示圖像標題,而不是圖像
- 14. 如何在新圖像上的圖像左對齊後顯示文本,而不是環繞圖像?
- 15. 在android地圖上顯示藍色屏幕而不是地圖
- 16. Xamarin.Forms Shared不是在Android視圖中顯示圖像,而是在iOS視圖中顯示圖像
- 17. 如何在手機中顯示圖像代碼而不是圖像路徑
- 18. 如果圖像src不存在,則顯示圖像而不是Alt文本
- 19. 圖像不是內聯顯示,而是分開顯示
- 20. 在列表視圖中顯示圖像而不是文本
- 21. 在MPAndroidChart餅圖中顯示圖像而不是文本
- 22. 在Django Admin中顯示圖像縮略圖而不是圖像路徑
- 23. 如何顯示,而不是下載,圖像在Apache?
- 24. 如何在UIView中顯示字符串而不是圖像?
- 25. 如何在WebGrid標題中顯示圖像而不是文本
- 26. 在圖像懸停上顯示文本而不是光標
- 27. 你可以在Galleria上顯示div而不是圖像嗎?
- 28. 圖像,而不是工作
- 29. 顯示的圖像,而不在XML
- 30. ListView顯示空白空間而不是本地圖像
我認爲MKAnnotationView更適合用例 – Florian