为什么我的MapView的缩放限制不起作用?

时间:2019-11-29 17:25:13

标签: expo react-native-maps

我正在尝试限制正在制作的应用程序的最大缩小。问题是,即使我设置了非常有限的缩放限制,用户仍然可以根据需要进行放大和缩小。我对Expo应用程序还比较陌生,所以对于react-native-maps库,可能只是我不了解。

这是我的地图的render()方法的外观:

render() {

        return (
            <MapView
                style={styles.mapStyle}
                region={this.state.region}
                provider="google"
                zoomEnabled={false}
                minZoomLevel={18}
                maxZoomLevel={20}
                showsMyLocationButton={true}
                showsUserLocation={true}
            />
        )
    }

我有适当的逻辑将地图放在用户的位置上(未显示-在componentDidMount()中进行了处理),但是此处的缩放限制似乎并没有超出地图的初始呈现效果。用户缩小后,天空便是极限-如果愿意,他们可以缩小以查看整个世界。这对于我的应用程序不是很有用,因此我想使这些限制起作用(或者至少更好地了解其工作原理)。预先感谢!

1 个答案:

答案 0 :(得分:0)

经过大约6分钟的挖掘(/ facepalm),我发现我在搞砸。 “问题”是我不了解这些Zoom值是如何工作的。有点奇怪,但总的来说:

  • 缩放值越低,它就从地图上变暗(例如,低缩放值===显示大面积地图)
    • 这对我来说有点直觉。我一直不停地以为0是“最接近”的水平变焦,但实际上它是最远的

我通过此修复完成了什么

此修复程序使我能够使地图阻止用户缩小到“最远”缩放级别;就我而言,我使用的是minZoomLevel中的10,它是关于大城市及其周围地区的。我正在使用maxZoomLevel中的20,这是“尽可能近的”缩放级别。

此外,我需要删除zoomEnabled={false}-这是我在较早的代码中反复浏览的一个障碍-此设置可以防止所有缩放互动(并且也绊倒了我,直到我记得删除它)。< / p>

希望这对其他人有帮助!