React-native Airbnb-Maps:如何在airbnb地图弹出框中渲染按钮?

问题描述 投票:1回答:1

我正在尝试使用AirBnb贴图(使用MapView.Markers)渲染一个按钮,我可以使用该按钮重定向到描述页面中的另一个页面(如果选择标记,则弹出框)。我不知道如何实现这一目标。

目前我的标记如下:

const markers = [{
  longitude: 8.545592,
  latitude: 47.366465,
  description: "Bike 1",
  title: "Bike 1"
},
{
  longitude: 8.545892,
  latitude: 47.366365,
  description: "Bike 2",
  title: "Bike 2"
}
];

每当我尝试将JSX输入到文本中时,我都会收到NSMutableDictionary cannot be converted to NSString错误。 (当我这样做时:

const markers = [{
  longitude: 8.545592,
  latitude: 47.366465,
  description: <Text>Bike1</Text>, //"Bike 1", //<Text> Bike1 </Text>
  title: "Bike 1"
},
{
  longitude: 8.545892,
  latitude: 47.366365,
  description: "Bike 2",
  title: "Bike 2"
}
];
react-native maps react-native-android react-native-ios airbnb
1个回答
5
投票

不仅仅是文本,你应该做的是定义一个自定义Callout而不是使用description道具。例如:

<MapView.Marker
  coordinate={{longitude: marker.longitude, latitude: marker.latitude}}
  title={marker.title}
>
  <MapView.Callout>
    <View style={styles.callout}>
      <Button title='Click Me!' onPress={() => console.log('Clicked')} />
    </View>
  </MapView.Callout>
</MapView.Marker>
© www.soinside.com 2019 - 2024. All rights reserved.