基于半径的地图缩放级别React Native地图

时间:2018-11-05 00:41:11

标签: react-native react-native-maps

我在我的应用程序中使用了expo react native map。如何设置变焦 以给定半径为基础的地图水平。例如,我有一个Mapview.circle 跨越10英里半径,我如何才能将地图缩放到显示的水平 给定半径10之内的制造商。我尝试使用经度和 纬度差异,但是不确定如何实现。

1 个答案:

答案 0 :(得分:0)

这是我用来放大和缩小给定半径的地图的代码片段。我可能不太准确,但是您可以进行相应的修改。

// Define the const outside the class
const { width, height } = Dimensions.get('window');
const ASPECT_RATIO = width / height;
const LATITUDE_DELTA = (Platform.OS === global.platformIOS ? 1.5 : 0.5);
const LONGITUDE_DELTA = LATITUDE_DELTA * ASPECT_RATIO;

// Use the below code to zoom to particular location with radius.
this.map.animateToRegion({ latitude: latitude, longitude: longitude, latitudeDelta: LATITUDE_DELTA * Number(radius/15), longitudeDelta: LONGITUDE_DELTA * Number(radius/15) }, 2000); 

最后,不要忘记在

中添加引用
ref={ref => { this.map = ref; }}