Commit fc80b021 authored by Qiu Xiang's avatar Qiu Xiang

优化继承结构

parent b18d4565
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h>
#import "AMapView.h" #import "AMapView.h"
#import "AMapOverlay.h" #import "AMapOverlay.h"
......
#import <MAMapKit/MAMapView.h>
#import <React/RCTViewManager.h> #import <React/RCTViewManager.h>
#import "AMapMarker.h" #import "AMapMarker.h"
......
#import <MAMapKit/MAOverlayRenderer.h>
@interface AMapModel : UIView
- (MAOverlayRenderer *)renderer;
@end
\ No newline at end of file
#import "AMapModel.h"
@implementation AMapModel {
}
- (MAOverlayRenderer *)renderer {
return nil;
}
@end
\ No newline at end of file
#import <Foundation/Foundation.h>
#import <React/RCTView.h> #import <React/RCTView.h>
@protocol AMapOverlayDelegate <NSObject> @protocol AMapOverlayDelegate <NSObject>
......
#import <React/RCTViewManager.h>
#import <React/RCTUIManager.h> #import <React/RCTUIManager.h>
#import "AMapOverlay.h" #import "AMapOverlay.h"
......
#import <Foundation/Foundation.h> #import "AMapModel.h"
#import <MAMapKit/MAMapKit.h>
#pragma ide diagnostic ignored "OCUnusedPropertyInspection" #pragma ide diagnostic ignored "OCUnusedPropertyInspection"
@interface AMapPolygon : UIView <MAOverlay> @interface AMapPolygon : AMapModel
@property(nonatomic, readonly) CLLocationCoordinate2D coordinate; @property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property(nonatomic, readonly) MAMapRect boundingMapRect; @property(nonatomic, readonly) MAMapRect boundingMapRect;
- (MAOverlayRenderer *)renderer;
@end @end
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h> #import <MAMapKit/MAMapKit.h>
#import "AMapModel.h"
#pragma ide diagnostic ignored "OCUnusedPropertyInspection" #pragma ide diagnostic ignored "OCUnusedPropertyInspection"
@interface AMapPolyline : UIView <MAOverlay> @interface AMapPolyline : AMapModel
@property(nonatomic, readonly) CLLocationCoordinate2D coordinate; @property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property(nonatomic, readonly) MAMapRect boundingMapRect; @property(nonatomic, readonly) MAMapRect boundingMapRect;
- (MAOverlayRenderer *)renderer;
@end @end
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h> #import <MAMapKit/MAMapKit.h>
#import <React/RCTComponent.h> #import <React/RCTComponent.h>
......
#import "AMapView.h" #import "AMapView.h"
#import "AMapMarker.h" #import "AMapMarker.h"
#import "AMapPolyline.h" #import "AMapPolyline.h"
#import "AMapPolygon.h"
#pragma ide diagnostic ignored "OCUnusedMethodInspection" #pragma ide diagnostic ignored "OCUnusedMethodInspection"
...@@ -33,7 +32,7 @@ ...@@ -33,7 +32,7 @@
((AMapMarker *) subview).mapView = self; ((AMapMarker *) subview).mapView = self;
[self addAnnotation:(id <MAAnnotation>) subview]; [self addAnnotation:(id <MAAnnotation>) subview];
} }
if ([subview isKindOfClass:[AMapPolyline class]] || [subview isKindOfClass:[AMapPolygon class]]) {; if ([subview isKindOfClass:[AMapModel class]]) {
[self addOverlay:(id <MAOverlay>) subview]; [self addOverlay:(id <MAOverlay>) subview];
} }
} }
...@@ -42,7 +41,7 @@ ...@@ -42,7 +41,7 @@
if ([subview isKindOfClass:[AMapMarker class]]) { if ([subview isKindOfClass:[AMapMarker class]]) {
[self removeAnnotation:(id <MAAnnotation>) subview]; [self removeAnnotation:(id <MAAnnotation>) subview];
} }
if ([subview isKindOfClass:[AMapPolyline class]] || [subview isKindOfClass:[AMapPolygon class]]) { if ([subview isKindOfClass:[AMapModel class]]) {
[self removeOverlay:(id <MAOverlay>) subview]; [self removeOverlay:(id <MAOverlay>) subview];
} }
} }
......
#import <MAMapKit/MAMapKit.h>
#import <React/RCTViewManager.h> #import <React/RCTViewManager.h>
#import "AMapView.h" #import "AMapView.h"
#import "AMapMarker.h" #import "AMapMarker.h"
#import "AMapPolyline.h" #import "AMapModel.h"
#import "AMapPolygon.h"
#pragma ide diagnostic ignored "OCUnusedClassInspection" #pragma ide diagnostic ignored "OCUnusedClassInspection"
#pragma ide diagnostic ignored "-Woverriding-method-mismatch" #pragma ide diagnostic ignored "-Woverriding-method-mismatch"
...@@ -86,11 +84,8 @@ RCT_EXPORT_VIEW_PROPERTY(onLocation, RCTBubblingEventBlock) ...@@ -86,11 +84,8 @@ RCT_EXPORT_VIEW_PROPERTY(onLocation, RCTBubblingEventBlock)
} }
- (MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverlay:(id <MAOverlay>)overlay { - (MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverlay:(id <MAOverlay>)overlay {
if ([overlay isKindOfClass:[AMapPolyline class]]) { if ([overlay isKindOfClass:[AMapModel class]]) {
return ((AMapPolyline *)overlay).renderer; return ((AMapModel *)overlay).renderer;
}
if ([overlay isKindOfClass:[AMapPolygon class]]) {
return ((AMapPolygon *)overlay).renderer;
} }
return nil; return nil;
} }
......
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h> #import <MAMapKit/MAMapKit.h>
@interface Coordinate : NSObject @interface Coordinate : NSObject
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment