Commit 7cc24708 authored by Qiu Xiang's avatar Qiu Xiang

添加 Marker selected 接口

parent bd8ff959
......@@ -51,7 +51,9 @@ public class AMapMarker extends ReactViewGroup {
private boolean flat = false;
private float opacity = 1;
private boolean draggable = false;
private boolean selected;
private BitmapDescriptor bitmapDescriptor;
private RCTEventEmitter eventEmitter;
private DataSubscriber<CloseableReference<CloseableImage>> dataSubscriber =
new BaseDataSubscriber<CloseableReference<CloseableImage>>() {
@Override
......@@ -75,8 +77,6 @@ public class AMapMarker extends ReactViewGroup {
}
};
private RCTEventEmitter eventEmitter;
public AMapMarker(ThemedReactContext context) {
super(context);
eventEmitter = context.getJSModule(RCTEventEmitter.class);
......@@ -84,6 +84,11 @@ public class AMapMarker extends ReactViewGroup {
public void addToMap(AMap map) {
marker = map.addMarker(getMarkerOptions());
if (selected) {
marker.showInfoWindow();
} else {
marker.hideInfoWindow();
}
}
public String getMarkerId() {
......@@ -159,4 +164,15 @@ public class AMapMarker extends ReactViewGroup {
public void sendEvent(String name, WritableMap data) {
eventEmitter.receiveEvent(getId(), name, data);
}
public void setSelected(boolean selected) {
this.selected = selected;
if (marker != null) {
if (selected) {
marker.showInfoWindow();
} else {
marker.hideInfoWindow();
}
}
}
}
......@@ -60,6 +60,11 @@ class AMapMarkerManager extends SimpleViewManager<AMapMarker> {
marker.setDraggable(draggable);
}
@ReactProp(name = "selected")
public void setSelected(AMapMarker marker, boolean selected) {
marker.setSelected(selected);
}
@ReactProp(name = "image")
public void setImage(AMapMarker marker, String image) {
marker.setImage(image);
......
......@@ -51,6 +51,11 @@ class Marker extends Component {
*/
zIndex: PropTypes.number,
/**
* 是否选中
*/
selected: PropTypes.bool,
onPress: React.PropTypes.func,
onDragStart: React.PropTypes.func,
onDrag: React.PropTypes.func,
......
......@@ -12,6 +12,7 @@ export default class MarkerComponent extends Component {
<Marker
title='一个可拖拽的 Marker'
draggable
selected
onDragEnd={({nativeEvent}) => console.log(nativeEvent)}
coordinate={{
latitude: 39.806901,
......
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