Commit af84a2c9 authored by Qiu Xiang's avatar Qiu Xiang

添加倾斜角度和中心坐标的设置接口

parent be9d91e9
......@@ -2,8 +2,10 @@ package cn.qiuxiang.react.amap3d;
import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.model.MyLocationStyle;
import com.amap.api.maps.model.LatLng;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.common.MapBuilder;
import com.facebook.react.module.annotations.ReactModule;
import com.facebook.react.uimanager.SimpleViewManager;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.annotations.ReactProp;
......@@ -90,7 +92,7 @@ class AMapViewManager extends SimpleViewManager<AMapView> {
@ReactProp(name = "zoomLevel")
public void setZoomLevel(AMapView view, float zoomLevel) {
view.map.animateCamera(CameraUpdateFactory.zoomTo(zoomLevel));
view.map.moveCamera(CameraUpdateFactory.zoomTo(zoomLevel));
}
@ReactProp(name = "mapType")
......@@ -117,4 +119,18 @@ class AMapViewManager extends SimpleViewManager<AMapView> {
public void setTiltGesturesEnabled(AMapView view, boolean enabled) {
view.ui.setTiltGesturesEnabled(enabled);
}
@ReactProp(name = "coordinate")
public void moveToCoordinate(AMapView view, ReadableMap coordinate) {
view.map.moveCamera(CameraUpdateFactory.changeLatLng(new LatLng(
coordinate.getDouble("latitude"),
coordinate.getDouble("longitude"))));
}
@ReactProp(name = "tilt")
public void changeTilt(AMapView view, float tilt) {
view.map.moveCamera(CameraUpdateFactory.changeTilt(tilt));
}
// todo: 自定义 locationStyle
}
......@@ -9,8 +9,12 @@ export default class Indoor extends Component {
render() {
return <MapView
coordinate={{
latitude: 39.91095,
longitude: 116.37296,
}}
zoomLevel={18}
showsIndoorMap={true}
showsIndoorSwitch={true}
style={StyleSheet.absoluteFill}/>
}
}
......@@ -37,6 +37,7 @@ export default class Layers extends Component {
</View>
<MapView
zoomLevel={17}
tilt={60}
showsLabels={this.state.showsLabels}
showsTraffic={this.state.showsTraffic}
showsBuildings={this.state.showsBuildings}
......
import React, {PropTypes, Component} from 'react'
import {requireNativeComponent, View} from 'react-native'
const CoordinateProType = PropTypes.shape({
latitude: PropTypes.number.isRequired,
longitude: PropTypes.number.isRequired,
})
class MapView extends Component {
static propTypes = {
...View.propTypes,
......@@ -76,10 +81,20 @@ class MapView extends Component {
minZoomLevel: PropTypes.number,
/**
* 设置当前缩放级别
* 设置当前缩放级别,取值范围 [3, 20]
*/
zoomLevel: PropTypes.number,
/**
* 设置中心坐标
*/
coordinate: CoordinateProType,
/**
* 设置倾斜角度,取值范围 [0, 60]
*/
tilt: PropTypes.number,
/**
* 是否启用缩放手势,用于放大缩小
*/
......@@ -110,3 +125,4 @@ AMapView = requireNativeComponent('AMapView', MapView)
export default MapView
export {MapView}
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