react-native-maps不会为iOS渲染嵌套元素

时间:2018-09-18 17:49:51

标签: ios google-maps react-native react-native-maps

我仅将react-native-maps用于我的应用程序。我在地图中有很多逻辑。有标记,热图(使用react-native-heatmaps程序包)和多边形(使用react-native-maps-directions程序包)。

今天我想重构我的Map组件,因此我将功能分为两部分-重构之前,我的MapView具有以下结构

<MapView>
    <Heatmap {Some props here} />
    {some function that will render a couple of Markers}
    {some function that will render a cople of MapViewDirections}
</MapView>

这曾经在Android和iOS上都可以使用。

重构后,它看起来像这样:

<MapView>
    <MyPointsComponent />
    <MyRoadsComponent />
</MapView>

这在Android中的工作方式与以前相同,但是在iOS上,它不会在地图上显示任何内容。

然后我测试了可能的最小示例:

<MapView>
    <View>
        <Marker coordinates={{somecoordinates}} />
    </View>
</MapView>

这同时适用于iOS和Android

<MapView>
    <MyComponentThatReturnsAMArker />
</MapView>

这对iOS和Android均有效,与标记的加载位置无关。

<MapView>
    <View>
        <MyComponentThatReturnsAMArker />
    </View>
</MapView>

如果标记是本地标记,则此标记在iOS和Android上均适用-自地图初始加载后开始填充。

这不适用于iOS,但如果标记是从后端动态加载的,则可以在Android上使用,因此稍后会填充(不在初始加载时)

我正在寻找双向解决方案:

  1. 使它正常工作的解决方法,因为我不想放弃重构
  2. 我已经分叉了地图库,所以也许可以将其更改为在这种情况下可以使用(我已经在其中进行了一些更改,与它不支持即开即用的地图有关)here

P.S。由于有热图,我在iOS上使用Google Maps提供程序,但我不能放弃。

0 个答案:

没有答案