我正在尝试使用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"
}
];
不仅仅是文本,你应该做的是定义一个自定义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>