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"
}
];
4

1 回答 1

4

对于不仅仅是文本,您应该做的是定义自定义标注而不是使用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>
于 2017-06-10T18:57:21.280 回答