MBMapkit
|
00001 // 00002 // MBMapView.h 00003 // MB"MBMapkit.h" 00004 // 00005 // Copyright 2011 Mapbar Inc. All rights reserved. 00006 // 00007 00008 #import <UIKit/UIKit.h> 00009 00010 #import "MBGeometry.h" 00011 #import "MBAnnotationView.h" 00012 #import "MBOverlayView.h" 00013 #import "MBPolygon.h" 00014 #import "MBPolyline.h" 00015 #import "MBCircle.h" 00016 #import "MBPolygonView.h" 00017 #import "MBPolylineView.h" 00018 #import "MBCircleView.h" 00019 #import "MBUserLocation.h" 00020 #import "MBReverseGeocoder.h" 00021 00022 enum { 00023 MBMapTypeStandard = 0, 00024 }; 00025 typedef NSUInteger MBMapType; 00026 00027 @class MapRender; 00028 @class MBUserLocation; 00029 @class MBMapViewInternal; 00030 00031 @protocol MBMapViewDelegate; 00074 @interface MBMapView : UIView <UIScrollViewDelegate,CLLocationManagerDelegate,MBReverseGeocoderDelegate> { 00075 @private 00076 MBMapViewInternal *_internal; 00077 } 00078 00083 -(void)setRegisterCode:(NSString *)registerCode; 00084 00093 - (id)initWithFrame:(CGRect)frame withLocal:(BOOL)doLocal; 00094 00100 - (unsigned long long)totalBytesSended; 00101 00107 - (unsigned long long)totalBytesReceived; 00108 00115 @property(nonatomic, assign) id<MBMapViewDelegate> delegate; 00116 00132 @property (nonatomic) MBCoordinateRegion region; 00133 00148 - (void)setRegion:(MBCoordinateRegion)region animated:(BOOL)animated; 00149 00160 @property(nonatomic) CLLocationCoordinate2D centerCoordinate; 00161 00173 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated; 00174 00184 - (MBCoordinateRegion)regionThatFits:(MBCoordinateRegion)region; 00185 00193 @property (nonatomic) MBMapRect visibleMapRect; 00194 00201 - (void)setVisibleMapRect:(MBMapRect)mapRect animated:(BOOL)animate; 00202 00212 - (MBMapRect)mapRectThatFits:(MBMapRect)mapRect; 00213 00221 - (void)setVisibleMapRect:(MBMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animate; 00222 00230 - (MBMapRect)mapRectThatFits:(MBMapRect)mapRect edgePadding:(UIEdgeInsets)insets; 00231 00240 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view; 00241 00249 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view; 00250 00259 - (CGRect)convertRegion:(MBCoordinateRegion)region toRectToView:(UIView *)view; 00260 00268 - (MBCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:(UIView *)view; 00269 00274 @property (nonatomic) MBMapType mapType; 00275 00283 @property(nonatomic, getter=isZoomEnabled) BOOL zoomEnabled; 00284 00292 @property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled; 00293 00294 00299 @property (nonatomic) BOOL showsScale; 00300 00305 @property (nonatomic) BOOL showsTraffic; 00306 00316 @property (nonatomic) BOOL showsUserLocation; 00317 00322 @property (nonatomic, readonly) MBUserLocation *userLocation; 00323 00332 @property (nonatomic, readonly, getter=isUserLocationVisible) BOOL userLocationVisible; 00333 00342 - (void)addAnnotation:(id <MBAnnotation>)annotation; 00343 00352 - (void)addAnnotations:(NSArray *)annotations; 00353 00366 - (void)removeAnnotation:(id <MBAnnotation>)annotation; 00367 00381 - (void)removeAnnotations:(NSArray *)annotations; 00382 00393 @property (nonatomic, readonly) NSArray *annotations; 00394 00403 - (NSSet *)annotationsInMapRect:(MBMapRect)mapRect; 00404 00412 - (MBAnnotationView *)viewForAnnotation:(id <MBAnnotation>)annotation; 00413 00425 - (MBAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier; 00426 00436 - (void)selectAnnotation:(id <MBAnnotation>)annotation animated:(BOOL)animated; 00437 00445 - (void)deselectAnnotation:(id <MBAnnotation>)annotation animated:(BOOL)animated; 00446 00453 @property (nonatomic, copy) NSArray *selectedAnnotations; 00454 00459 @property (nonatomic, readonly) CGRect annotationVisibleRect; 00460 00471 - (void)addOverlay:(id <MBOverlay>)overlay; 00472 00483 - (void)addOverlays:(NSArray *)overlays; 00484 00493 - (void)removeOverlay:(id <MBOverlay>)overlay; 00494 00503 - (void)removeOverlays:(NSArray *)overlays; 00504 00511 - (void)insertOverlay:(id <MBOverlay>)overlay atIndex:(NSUInteger)index; 00512 00521 - (void)exchangeOverlayAtIndex:(NSUInteger)index1 withOverlayAtIndex:(NSUInteger)index2; 00522 00532 - (void)insertOverlay:(id <MBOverlay>)overlay aboveOverlay:(id <MBOverlay>)sibling; 00533 00543 - (void)insertOverlay:(id <MBOverlay>)overlay belowOverlay:(id <MBOverlay>)sibling; 00544 00553 @property (nonatomic, readonly) NSArray *overlays; 00554 00561 - (MBOverlayView *)viewForOverlay:(id <MBOverlay>)overlay; 00562 00563 @end 00564 00573 @protocol MBMapViewDelegate <NSObject> 00574 00575 @optional 00576 00586 - (void)mapView:(MBMapView *)mapView regionWillChangeAnimated:(BOOL)animated; 00587 00597 - (void)mapView:(MBMapView *)mapView regionDidChangeAnimated:(BOOL)animated; 00598 00607 - (void)mapViewWillStartLoadingMap:(MBMapView *)mapView; 00608 00617 - (void)mapViewDidFinishLoadingMap:(MBMapView *)mapView; 00618 00628 - (void)mapViewDidFailLoadingMap:(MBMapView *)mapView withError:(NSError *)error; 00629 00644 - (MBAnnotationView *)mapView:(MBMapView *)mapView viewForAnnotation:(id <MBAnnotation>)annotation; 00645 00654 - (void)mapView:(MBMapView *)mapView didAddAnnotationViews:(NSArray *)views; 00655 00668 - (void)mapView:(MBMapView *)mapView annotationView:(MBAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control; 00669 00678 - (void)mapView:(MBMapView *)mapView didSelectAnnotationView:(MBAnnotationView *)view; 00679 00688 - (void)mapView:(MBMapView *)mapView didDeselectAnnotationView:(MBAnnotationView *)view; 00689 00697 - (void)mapViewWillStartLocatingUser:(MBMapView *)mapView; 00698 00706 - (void)mapViewDidStopLocatingUser:(MBMapView *)mapView; 00707 00717 - (void)mapView:(MBMapView *)mapView didUpdateUserLocation:(MBUserLocation *)userLocation; 00718 00725 - (void)mapView:(MBMapView *)mapView didFailToLocateUserWithError:(NSError *)error; 00726 00737 - (void)mapView:(MBMapView *)mapView annotationView:(MBAnnotationView *)view didChangeDragState:(MBAnnotationViewDragState)newState 00738 fromOldState:(MBAnnotationViewDragState)oldState; 00739 00749 - (MBOverlayView *)mapView:(MBMapView *)mapView viewForOverlay:(id <MBOverlay>)overlay; 00750 00759 - (void)mapView:(MBMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews; 00760 00761 @end