如何将MapView放在ScrollView中?

时间:2016-02-12 00:53:47

标签: ios react-native

我注意到似乎无法将MapView放在ScrollView中。我想象一下,因为iOS并不希望我在另一个可滚动对象中有一个可滚动对象。问题是,我根本不需要MapView是交互式的。有没有什么方法可以根据某些坐标显示静态地图,然后点击它可以使用LinkingIOS打开地图?

4 个答案:

答案 0 :(得分:0)

尝试将mapView的scrollEnabledzoomEnabled属性设置为false。您会注意到Apple自己的应用程序会执行此操作,因此完全允许。

要拦截水龙头,请将UITapGestureRecognizer附加到地图视图,或在其前面放置一个透明视图,并附上一个水龙头手势识别器。

答案 1 :(得分:0)

如果您只想显示地图,为什么不使用Google静态地图界面,只显示图片https://developers.google.com/maps/documentation/static-maps

答案 2 :(得分:0)

嗯,那真是愚蠢! MapView未显示,因为它需要特定的高度。应用于它的flex: 1样式在ScrollView外部工作正常,但一旦在其中移动就没有效果。

答案 3 :(得分:0)

我也遇到过这个问题。是的,虽然关于设置特定高度的答案是一个解决方案,但我找到了另一个解决方案。您可以使用vh单位设置MapView组件的样式,如下所示:

<ScrollView style={{ flex: 1 }}> <MapView style={{ height: 34 * vh }}/> </ScrollView>

,默认情况下不支持vh,因此您可以使用this package。另一个警告是,目前这个软件包似乎没有维护或工作(由于导入问题)。但是,您可以将index.js文件直接复制到您的应用程序中,然后导入vh单元以供使用。

希望这有助于其他人!