Commit 93b3fa73 authored by Qiu Xiang's avatar Qiu Xiang

添加 showsInfoWindow 接口

parent 7d7ca2ec
...@@ -56,7 +56,7 @@ public class AMapMarker extends ReactViewGroup { ...@@ -56,7 +56,7 @@ public class AMapMarker extends ReactViewGroup {
private float opacity = 1; private float opacity = 1;
private boolean draggable = false; private boolean draggable = false;
private boolean selected; private boolean selected;
private boolean showsInfoWindow = false; private boolean infoWindowEnabled = false;
private BitmapDescriptor bitmapDescriptor; private BitmapDescriptor bitmapDescriptor;
private RCTEventEmitter eventEmitter; private RCTEventEmitter eventEmitter;
private DataSubscriber<CloseableReference<CloseableImage>> dataSubscriber = private DataSubscriber<CloseableReference<CloseableImage>> dataSubscriber =
...@@ -108,7 +108,7 @@ public class AMapMarker extends ReactViewGroup { ...@@ -108,7 +108,7 @@ public class AMapMarker extends ReactViewGroup {
.draggable(draggable) .draggable(draggable)
.position(position) .position(position)
.title(title) .title(title)
.infoWindowEnable(showsInfoWindow) .infoWindowEnable(infoWindowEnabled)
.snippet(snippet); .snippet(snippet);
} }
...@@ -217,4 +217,8 @@ public class AMapMarker extends ReactViewGroup { ...@@ -217,4 +217,8 @@ public class AMapMarker extends ReactViewGroup {
marker.setIcon(bitmapDescriptor); marker.setIcon(bitmapDescriptor);
} }
} }
public void setEnabledInfoWindow(boolean enabled) {
infoWindowEnabled = enabled;
}
} }
...@@ -82,4 +82,9 @@ class AMapMarkerManager extends ViewGroupManager<AMapMarker> { ...@@ -82,4 +82,9 @@ class AMapMarkerManager extends ViewGroupManager<AMapMarker> {
public void setIcon(AMapMarker marker, String icon) { public void setIcon(AMapMarker marker, String icon) {
marker.setIcon(icon); marker.setIcon(icon);
} }
@ReactProp(name = "showsInfoWindow")
public void setEnabledInfoWindow(AMapMarker marker, boolean enabled) {
marker.setEnabledInfoWindow(enabled);
}
} }
...@@ -27,8 +27,9 @@ export default class MarkerComponent extends Component { ...@@ -27,8 +27,9 @@ export default class MarkerComponent extends Component {
render() { render() {
return <MapView style={StyleSheet.absoluteFill}> return <MapView style={StyleSheet.absoluteFill}>
<Marker <Marker
title='一个可拖拽的 Marker'
draggable draggable
showsInfoWindow
title='一个可拖拽的 Marker'
onDragEnd={({nativeEvent}) => onDragEnd={({nativeEvent}) =>
Alert.alert(`新坐标:${nativeEvent.latitude}, ${nativeEvent.longitude}`)} Alert.alert(`新坐标:${nativeEvent.latitude}, ${nativeEvent.longitude}`)}
onInfoWindowPress={() => Alert.alert('信息窗口点击事件')} onInfoWindowPress={() => Alert.alert('信息窗口点击事件')}
...@@ -39,6 +40,7 @@ export default class MarkerComponent extends Component { ...@@ -39,6 +40,7 @@ export default class MarkerComponent extends Component {
/> />
<Marker <Marker
selected selected
showsInfoWindow
icon='HUE_RED' icon='HUE_RED'
title='一个红色的 Marker' title='一个红色的 Marker'
infoWindowWidth={100} infoWindowWidth={100}
...@@ -51,6 +53,7 @@ export default class MarkerComponent extends Component { ...@@ -51,6 +53,7 @@ export default class MarkerComponent extends Component {
</InfoWindow> </InfoWindow>
</Marker> </Marker>
<Marker <Marker
showsInfoWindow
icon={require('../images/marker.png')} icon={require('../images/marker.png')}
title='自定义图片' title='自定义图片'
coordinate={{ coordinate={{
...@@ -59,6 +62,7 @@ export default class MarkerComponent extends Component { ...@@ -59,6 +62,7 @@ export default class MarkerComponent extends Component {
}} }}
/> />
<Marker <Marker
showsInfoWindow
title='自定义 View Marker' title='自定义 View Marker'
icon={() => <Overlay style={styles.customMarker}> icon={() => <Overlay style={styles.customMarker}>
<Text style={styles.markerText}>{this.state.time.toLocaleTimeString()}</Text> <Text style={styles.markerText}>{this.state.time.toLocaleTimeString()}</Text>
......
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