latlng 不能为空 - 需要位置
latlng cannot be null - a position is required
我有一个 reactnative 移动应用程序并使用 react-native-maps,我想在应用程序启动时加载标记,但我收到 latlng cannot be null - a position is required
错误。
我要做的是填充数组标记
export default class MapScreen extends React.Component {
constructor(props) {
super(props);
this.watchID = navigator.geolocation.watchPosition((position) => {
console.log(position.coords) // get your showUserLocation here
},
(error) => console.log(error.message), GEOLOCATION_SETTINGS
)
this.state = {
region: {
latitude: LATITUDE,
longitude: LONGITUDE,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA,
},
markers: [{
title: 'FINISH',
description: 'You have found me!',
coordinates: {
latitude: 14.548100,
longitude: 121.049906
},
}]
}
}
稍后调用:
{this.state.markers.map(marker => (
<Marker
key={marker.key}
coordinate={marker.coordinate}
pinColor={marker.color}
>
{/* Callout est l'infowindow */}
<Callout style={styles.plainView}>
<View>
{/* Texte par défaut pour le moment, à changer (voir ticket MARKER3) */}
<Text>
Nom + Coordonnées + click here to see info
</Text>
</View>
</Callout>
</Marker>
))}
我猜测我在 markers[]
中提供信息的方式是错误的,但我尝试了所有我能想到的,包括
markers: [{
latlng: {
latitude: 14.548100,
longitude: 121.049906
},
}]
它仍然告诉我 latlng 为空。
问题真的是输入语法吗?我怎样才能找到正确的?
您在 coordinate={marker.coordinate}
处的代码有错字,应该 coordinate={marker.coordinates}
与您在状态中定义的一样。
markers: [{
title: 'FINISH',
description: 'You have found me!',
coordinates: {
latitude: 14.548100,
longitude: 121.049906
},
}]
您还错过了 key
和 color
的状态。
markers: [{
title: 'FINISH',
description: 'You have found me!',
coordinates: {
latitude: 14.548100,
longitude: 121.049906
},
key: 'YOUR_KEY_VALUE',
color: 'YOUR_COLOR_VALUE'
}]
我有一个 reactnative 移动应用程序并使用 react-native-maps,我想在应用程序启动时加载标记,但我收到 latlng cannot be null - a position is required
错误。
我要做的是填充数组标记
export default class MapScreen extends React.Component {
constructor(props) {
super(props);
this.watchID = navigator.geolocation.watchPosition((position) => {
console.log(position.coords) // get your showUserLocation here
},
(error) => console.log(error.message), GEOLOCATION_SETTINGS
)
this.state = {
region: {
latitude: LATITUDE,
longitude: LONGITUDE,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA,
},
markers: [{
title: 'FINISH',
description: 'You have found me!',
coordinates: {
latitude: 14.548100,
longitude: 121.049906
},
}]
}
}
稍后调用:
{this.state.markers.map(marker => (
<Marker
key={marker.key}
coordinate={marker.coordinate}
pinColor={marker.color}
>
{/* Callout est l'infowindow */}
<Callout style={styles.plainView}>
<View>
{/* Texte par défaut pour le moment, à changer (voir ticket MARKER3) */}
<Text>
Nom + Coordonnées + click here to see info
</Text>
</View>
</Callout>
</Marker>
))}
我猜测我在 markers[]
中提供信息的方式是错误的,但我尝试了所有我能想到的,包括
markers: [{
latlng: {
latitude: 14.548100,
longitude: 121.049906
},
}]
它仍然告诉我 latlng 为空。
问题真的是输入语法吗?我怎样才能找到正确的?
您在 coordinate={marker.coordinate}
处的代码有错字,应该 coordinate={marker.coordinates}
与您在状态中定义的一样。
markers: [{
title: 'FINISH',
description: 'You have found me!',
coordinates: {
latitude: 14.548100,
longitude: 121.049906
},
}]
您还错过了 key
和 color
的状态。
markers: [{
title: 'FINISH',
description: 'You have found me!',
coordinates: {
latitude: 14.548100,
longitude: 121.049906
},
key: 'YOUR_KEY_VALUE',
color: 'YOUR_COLOR_VALUE'
}]