Skip to content

Commit a028fb2

Browse files
committed
add circle props
add circle props
1 parent 06b9884 commit a028fb2

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

android/react-native-amap/src/main/java/com/yiyang/reactnativeamap/MAMapViewManager.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.yiyang.reactnativeamap;
22

33
import android.content.Context;
4+
import android.graphics.Color;
45
import android.os.StrictMode;
56
import android.support.annotation.Nullable;
67
import android.util.Log;
@@ -9,6 +10,7 @@
910
import com.amap.api.maps2d.CameraUpdateFactory;
1011
import com.amap.api.maps2d.MapView;
1112
import com.amap.api.maps2d.model.CameraPosition;
13+
import com.amap.api.maps2d.model.CircleOptions;
1214
import com.amap.api.maps2d.model.LatLng;
1315
import com.facebook.react.bridge.ReadableArray;
1416
import com.facebook.react.bridge.ReadableMap;
@@ -122,6 +124,19 @@ public void setOverlays(ReactMapView mapView, @Nullable ReadableArray value) thr
122124
mapView.setOverlays(overlays);
123125
}
124126

127+
@ReactProp(name = "circle")
128+
public void setCircle(ReactMapView mapView, @Nullable ReadableMap circle) {
129+
if (circle != null) {
130+
double latitude = circle.getDouble("latitude");
131+
double longitude = circle.getDouble("longitude");
132+
int radius = circle.getInt("radius");
133+
int strokeWidth = circle.getInt("strokeWidth");
134+
mapView.getMap().addCircle(new CircleOptions().center(new LatLng(latitude, longitude))
135+
.radius(radius).strokeColor(0xFFFF0000).fillColor(0x4400FF00)
136+
.strokeWidth(strokeWidth));
137+
}
138+
}
139+
125140
@ReactProp(name = "region")
126141
public void setRegion(ReactMapView mapView, @Nullable ReadableMap center) {
127142
if (center != null) {

index.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,22 @@ const MAMapView= React.createClass({
144144
latitudeDelta: React.PropTypes.number,
145145
longitudeDelta: React.PropTypes.number,
146146
}),
147+
148+
circle: React.PropTypes.shape({
149+
/**
150+
* Coordinates for the center of the map.
151+
*/
152+
latitude: React.PropTypes.number.isRequired,
153+
longitude: React.PropTypes.number.isRequired,
154+
155+
/**
156+
157+
*/
158+
radius: React.PropTypes.number,
159+
strokeColor: React.PropTypes.number,
160+
fillColor: React.PropTypes.number,
161+
strokeWidth: React.PropTypes.number
162+
}),
147163

148164
/**
149165
* Map annotations with title/subtitle.

0 commit comments

Comments
 (0)