我注意到似乎无法将MapView放在ScrollView中。我想象一下,因为iOS并不希望我在另一个可滚动对象中有一个可滚动对象。问题是,我根本不需要MapView是交互式的。有没有什么方法可以根据某些坐标显示静态地图,然后点击它可以使用LinkingIOS打开地图?
答案 0 :(得分:0)
尝试将mapView的scrollEnabled
和zoomEnabled
属性设置为false
。您会注意到Apple自己的应用程序会执行此操作,因此完全允许。
要拦截水龙头,请将UITapGestureRecognizer附加到地图视图,或在其前面放置一个透明视图,并附上一个水龙头手势识别器。
答案 1 :(得分:0)
如果您只想显示地图,为什么不使用Google静态地图界面,只显示图片https://developers.google.com/maps/documentation/static-maps?
答案 2 :(得分:0)
flex: 1
样式在ScrollView外部工作正常,但一旦在其中移动就没有效果。
答案 3 :(得分:0)
我也遇到过这个问题。是的,虽然关于设置特定高度的答案是一个解决方案,但我找到了另一个解决方案。您可以使用vh
单位设置MapView
组件的样式,如下所示:
<ScrollView style={{ flex: 1 }}>
<MapView style={{ height: 34 * vh }}/>
</ScrollView>
但,默认情况下不支持vh
,因此您可以使用this package。另一个警告是,目前这个软件包似乎没有维护或工作(由于导入问题)。但是,您可以将index.js
文件直接复制到您的应用程序中,然后导入vh
单元以供使用。
希望这有助于其他人!