Commit fc80b021 authored by Qiu Xiang's avatar Qiu Xiang

优化继承结构

parent b18d4565
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h>
#import "AMapView.h"
#import "AMapOverlay.h"
......
#import <MAMapKit/MAMapView.h>
#import <React/RCTViewManager.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>
@protocol AMapOverlayDelegate <NSObject>
......
#import <React/RCTViewManager.h>
#import <React/RCTUIManager.h>
#import "AMapOverlay.h"
......
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h>
#import "AMapModel.h"
#pragma ide diagnostic ignored "OCUnusedPropertyInspection"
@interface AMapPolygon : UIView <MAOverlay>
@interface AMapPolygon : AMapModel
@property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property(nonatomic, readonly) MAMapRect boundingMapRect;
- (MAOverlayRenderer *)renderer;
@end
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h>
#import "AMapModel.h"
#pragma ide diagnostic ignored "OCUnusedPropertyInspection"
@interface AMapPolyline : UIView <MAOverlay>
@interface AMapPolyline : AMapModel
@property(nonatomic, readonly) CLLocationCoordinate2D coordinate;
@property(nonatomic, readonly) MAMapRect boundingMapRect;
- (MAOverlayRenderer *)renderer;
@end
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h>
#import <React/RCTComponent.h>
......
#import "AMapView.h"
#import "AMapMarker.h"
#import "AMapPolyline.h"
#import "AMapPolygon.h"
#pragma ide diagnostic ignored "OCUnusedMethodInspection"
......@@ -33,7 +32,7 @@
((AMapMarker *) subview).mapView = self;
[self addAnnotation:(id <MAAnnotation>) subview];
}
if ([subview isKindOfClass:[AMapPolyline class]] || [subview isKindOfClass:[AMapPolygon class]]) {;
if ([subview isKindOfClass:[AMapModel class]]) {
[self addOverlay:(id <MAOverlay>) subview];
}
}
......@@ -42,7 +41,7 @@
if ([subview isKindOfClass:[AMapMarker class]]) {
[self removeAnnotation:(id <MAAnnotation>) subview];
}
if ([subview isKindOfClass:[AMapPolyline class]] || [subview isKindOfClass:[AMapPolygon class]]) {
if ([subview isKindOfClass:[AMapModel class]]) {
[self removeOverlay:(id <MAOverlay>) subview];
}
}
......
#import <MAMapKit/MAMapKit.h>
#import <React/RCTViewManager.h>
#import "AMapView.h"
#import "AMapMarker.h"
#import "AMapPolyline.h"
#import "AMapPolygon.h"
#import "AMapModel.h"
#pragma ide diagnostic ignored "OCUnusedClassInspection"
#pragma ide diagnostic ignored "-Woverriding-method-mismatch"
......@@ -86,11 +84,8 @@ RCT_EXPORT_VIEW_PROPERTY(onLocation, RCTBubblingEventBlock)
}
- (MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverlay:(id <MAOverlay>)overlay {
if ([overlay isKindOfClass:[AMapPolyline class]]) {
return ((AMapPolyline *)overlay).renderer;
}
if ([overlay isKindOfClass:[AMapPolygon class]]) {
return ((AMapPolygon *)overlay).renderer;
if ([overlay isKindOfClass:[AMapModel class]]) {
return ((AMapModel *)overlay).renderer;
}
return nil;
}
......
#import <Foundation/Foundation.h>
#import <MAMapKit/MAMapKit.h>
@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