私はすべてがうまくいっていますが、最後にマーカを下にしてアプリをズームインするための正しいコードを見つけることができないようです。最後のマーカーをズームダウンする方法は?
これは私のコードです:
getEarthquakes(){
return fetch('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson')
.then(response => response.json())
.then(responseData =>{
var markers = [];
for (var i = 0; i < responseData.features.length; i++) {
var coords = responseData.features[i].geometry.coordinates;
var marker = {
key: responseData.features[i].id,
coordinate: {
latitude: coords[1],
longitude: coords[0],
}
}
markers.push(marker);
}
this.setState({
markers: markers,
loaded: true,
marker: markers,
latitude: coords[1],
longitude: coords[0]
});
}
).done();
}
render() {
return (
<View style={styles.container}>
<MapView.Animated
style={styles.map}
region={this.state.marker}
showsUserLocation={true}
followUserLocation={true}>
{this.state.markers.map(marker => (
<MapView.Marker
key={marker.key}
coordinate={marker.coordinate}
/>
))}
</MapView.Animated>
</View>
);
}
}
私が過去30日間ですべての地震を呼び出しています。 最後のマーカーにズームさせるにはregion={this.state.marker}
を置くだけだと思ったが、うまくいかなかった。マーカーを置かないアフリカの上に私を置くだけです。誰でも何ができるか知っていますか?
編集:
マイコンストラクタ/ componentWillMount:
class Additional extends React.Component {
constructor() {
super();
this.state = {
region: {
latitude: LATITUDE,
longitude: LONGITUDE,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA
},
markers: [],
loaded: false
}
}
componentDidMount() {
navigator.geolocation.getCurrentPosition(
(posData) => {
this.setState({
region: {
latitude: posData.coords.latitude,
longitude: posData.coords.longitude,
latitudeDelta: LATITUDE_DELTA,
longitudeDelta: LONGITUDE_DELTA,
accuracy: posData.coords.accuracy
}
});
},
(error) => alert(error.message),
{timeout: 10000}
);
this.getEarthquakes()
}
UPDATE 18-01-2018:
私はコードの一部が見つかったほとんどの月のためにそれに働いた後ではありませんミックスに悲しみを投げている。
UPDATE 18-01-2018:
私はミックスに悲しみを投げたコードの一部を発見したと思いました。しかし、コードを再練習した後で動作するようになりました。とても混乱するような。それはちょうどLihiniの鋭い目かもしれない。
悪いです。私はコードを変更しました。 'this.setState({ マーカー:マーカー、 がロード:真、 マーカー:マーカー[markers.length-1] //設定マーカー状態 });' Iは、緯度と長いための新しい状態をプッシュしようとしましたしかし、それが行く地域は、私がデフォルトとして設定したものです。このように動作するか、何か不足していますか? – Carlove
以前に追加された最後のマーカを指しているので、マーカの状態も変更してください。 – Lihini
私は息を吐くようにしましたが、私の元の領域が設定された後は更新したくありません。元のコードを 'state'コードで更新しました。あなたは何かが見えるかどうかを見る時間があるときにすばやく見ていただけますか?ありがとう! – Carlove