在mapview标记内显示一个按钮?

时间:2018-05-30 09:24:00

标签: react-native react-native-maps

我目前正在使用airbnb地图模块开发一个本机应用程序。

我的地图包含多个标记,我可以点击这些标记来打开MapView组件。它包含标题和描述。

我想为此MapView添加一个按钮,但是the solution that I found无效。我是这样定制的(这是我的googlemap组件中的return部分:

return(
  <View style={styles.container}>

    <MapView
      style={styles.map}
      provider={PROVIDER_GOOGLE}
      customMapStyle={mapStyle}
      initialRegion={{
        latitude: 48.852968,
        longitude: 2.349902,
        latitudeDelta: 0.1,
        longitudeDelta: 0.1
      }}
    >
      <MapView.Marker
        coordinate={{
          latitude: 48.852968,
          longitude: 2.349902
        }}
          title={ 'myTitle' }
          description={ 'myDescription' }
          pinColor={ 'blue' }
          onCalloutPress={() => alert('Clicked')}
      >
        <MapView.Callout>
          <View>
            <Text>Click Me!</Text>
          </View>
        </MapView.Callout>
      </MapView.Marker>

    </MapView>

  </View>
);

我想要的: 1-在地图上显示我的蓝色标记(使用lat和lng) 2-单击标记 3-有一个标题,说明和&#39;点击我!&#39;按键 4-点击&#39;点击&#39;作为console.log

反而会发生什么: 1-在地图上显示我的蓝色标记(使用lat和lng) 2-单击标记 3-有一点点弹出&#39;点击我!&#39;按钮(更多作为蓝色链接,但我不知道它应该如何呈现) 4-没有&#39;点击&#39;在我的控制台中

此功能是否已被弃用?或者我做错了什么?我按照解决方案和文档,但也许我错过了一些东西。

2 个答案:

答案 0 :(得分:0)

从按钮中删除onPress并将其添加到标记中(请参阅pincolor后),再次尝试点击该按钮。

<MapView.Marker
    coordinate={{
        latitude: myLat,
        longitude: myLng
    }}
    title={ 'myTitle' }
    description={ 'myDescription' }
    pinColor={ 'blue' }
    onCalloutPress={() => alert('Clicked')}
>
    <MapView.Callout>
        <View>
            <Text>Click Me!</Text>
        </View>
    </MapView.Callout>
</MapView.Marker>

这对我有用。希望这对你也有帮助:))

答案 1 :(得分:0)

zIndex 应用到您将在地图视图中显示的按钮