React + OpenWeatherMap API로 현재 기상 보기
소개
React-Leaflet에서 지도 보기에서지도를 표시하고 마커를 놓았습니다. 이 기사에서는 OpenWeatherMap의 API 인 Weather maps 1.0을 사용하여 기상 데이터를지도에 겹칩니다. React Leaflet, Weather maps 1.0을 참고했다. 또한 leaflet과 react-leaflet은 설치되었다고 가정합니다. 설치하지 않은 경우 React-Leaflet에서 지도 보기를 참조하십시오.
API 키 가져오기
OpenWeatherMap 의 API 로부터 기상 해상 데이터를 취득하려면 , API 키를 취득할 필요가 있다. Create New Account에서 계정을 만들면 키를 얻을 수 있습니다. 몇 가지 제한은 있지만 무료 버전으로 너무 충분한 기능을 사용할 수 있다.
구성 요소 만들기
지도를 표시하고 기상 데이터를 겹치는 구성 요소의 코드는 다음과 같습니다. 이 컴포넌트에서는 현재의 구름, 강수량, 해수면 기압, 풍속, 기온의 5개의 기상 데이터를 겹칠 수 있다.
Weather.jsimport React from "react";
import "leaflet/dist/leaflet.css";
import { LayersControl, MapContainer, TileLayer, WMSTileLayer } from "react-leaflet";
const APIKey = "取得した API キーを書く";
const SimpleLeaflet = () => {
const position = [35.685175, 139.7528];
return (
<div>
<MapContainer center={position} zoom={13} style={{ height: "100vh" }} >
<TileLayer
attribution='&copy <a href="http://osm.org/copyright";>OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<LayersControl position="topright" >
<LayersControl.Overlay name="Cloud" checked>
<WMSTileLayer url={`https://tile.openweathermap.org/map/clouds_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Precipitation">
<WMSTileLayer url={`https://tile.openweathermap.org/map/precipitation_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Sea Level Pressure">
<WMSTileLayer url={`https://tile.openweathermap.org/map/pressure_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Wind Speed">
<WMSTileLayer url={`https://tile.openweathermap.org/map/wind_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Temperature">
<WMSTileLayer url={`https://tile.openweathermap.org/map/temp_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
</LayersControl>
</MapContainer>
</div>
)
}
export default SimpleLeaflet;
상기 컴포넌트를 읽고, 개발용 서버에서 실행한 결과를 이하에 나타낸다.
LayersControl을 사용하면 위의 GIF와 같이 어떤 레이어를 겹칠지 선택할 수 있습니다. 또 LayersControl.Overlay 태그내에 'checked' 라고 추기하는 것으로, 디폴트로 선택 상태로 할 수 있다. Layers control | React Leaflet에는 Layer의 그룹 분할 등 세세한 편집의 예도 실려 있다.
결론
이번에는 Weather maps 1.0을 시도했다. 현재는 Weather maps 2.0 가 론칭하고 있어 거기에서는 예보 데이터나 과거의 데이터도 취득할 수 있다고 하는 것이었지만, 시험한 결과가 잘 반영되지 않았으므로, 잘 취급할 수 있는 사람이 있으면 가르쳐 주세요.
(2021/5/7 추가)
직접 OpenWeatherMap에 문의했는데, 무료판에서는 대응하고 있지 않다는 것. Detailed price - OpenWeatherMap에 확실히 이렇게 써 있다. 시도할 수 없어서 유감.
Reference
이 문제에 관하여(React + OpenWeatherMap API로 현재 기상 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/honda28/items/60323f80dde9761fc006
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OpenWeatherMap 의 API 로부터 기상 해상 데이터를 취득하려면 , API 키를 취득할 필요가 있다. Create New Account에서 계정을 만들면 키를 얻을 수 있습니다. 몇 가지 제한은 있지만 무료 버전으로 너무 충분한 기능을 사용할 수 있다.
구성 요소 만들기
지도를 표시하고 기상 데이터를 겹치는 구성 요소의 코드는 다음과 같습니다. 이 컴포넌트에서는 현재의 구름, 강수량, 해수면 기압, 풍속, 기온의 5개의 기상 데이터를 겹칠 수 있다.
Weather.jsimport React from "react";
import "leaflet/dist/leaflet.css";
import { LayersControl, MapContainer, TileLayer, WMSTileLayer } from "react-leaflet";
const APIKey = "取得した API キーを書く";
const SimpleLeaflet = () => {
const position = [35.685175, 139.7528];
return (
<div>
<MapContainer center={position} zoom={13} style={{ height: "100vh" }} >
<TileLayer
attribution='&copy <a href="http://osm.org/copyright";>OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<LayersControl position="topright" >
<LayersControl.Overlay name="Cloud" checked>
<WMSTileLayer url={`https://tile.openweathermap.org/map/clouds_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Precipitation">
<WMSTileLayer url={`https://tile.openweathermap.org/map/precipitation_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Sea Level Pressure">
<WMSTileLayer url={`https://tile.openweathermap.org/map/pressure_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Wind Speed">
<WMSTileLayer url={`https://tile.openweathermap.org/map/wind_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Temperature">
<WMSTileLayer url={`https://tile.openweathermap.org/map/temp_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
</LayersControl>
</MapContainer>
</div>
)
}
export default SimpleLeaflet;
상기 컴포넌트를 읽고, 개발용 서버에서 실행한 결과를 이하에 나타낸다.
LayersControl을 사용하면 위의 GIF와 같이 어떤 레이어를 겹칠지 선택할 수 있습니다. 또 LayersControl.Overlay 태그내에 'checked' 라고 추기하는 것으로, 디폴트로 선택 상태로 할 수 있다. Layers control | React Leaflet에는 Layer의 그룹 분할 등 세세한 편집의 예도 실려 있다.
결론
이번에는 Weather maps 1.0을 시도했다. 현재는 Weather maps 2.0 가 론칭하고 있어 거기에서는 예보 데이터나 과거의 데이터도 취득할 수 있다고 하는 것이었지만, 시험한 결과가 잘 반영되지 않았으므로, 잘 취급할 수 있는 사람이 있으면 가르쳐 주세요.
(2021/5/7 추가)
직접 OpenWeatherMap에 문의했는데, 무료판에서는 대응하고 있지 않다는 것. Detailed price - OpenWeatherMap에 확실히 이렇게 써 있다. 시도할 수 없어서 유감.
Reference
이 문제에 관하여(React + OpenWeatherMap API로 현재 기상 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/honda28/items/60323f80dde9761fc006
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import React from "react";
import "leaflet/dist/leaflet.css";
import { LayersControl, MapContainer, TileLayer, WMSTileLayer } from "react-leaflet";
const APIKey = "取得した API キーを書く";
const SimpleLeaflet = () => {
const position = [35.685175, 139.7528];
return (
<div>
<MapContainer center={position} zoom={13} style={{ height: "100vh" }} >
<TileLayer
attribution='&copy <a href="http://osm.org/copyright";>OpenStreetMap</a> contributors'
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
/>
<LayersControl position="topright" >
<LayersControl.Overlay name="Cloud" checked>
<WMSTileLayer url={`https://tile.openweathermap.org/map/clouds_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Precipitation">
<WMSTileLayer url={`https://tile.openweathermap.org/map/precipitation_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Sea Level Pressure">
<WMSTileLayer url={`https://tile.openweathermap.org/map/pressure_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Wind Speed">
<WMSTileLayer url={`https://tile.openweathermap.org/map/wind_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
<LayersControl.Overlay name="Temperature">
<WMSTileLayer url={`https://tile.openweathermap.org/map/temp_new/{z}/{x}/{y}.png?appid=${APIKey}`} />
</LayersControl.Overlay>
</LayersControl>
</MapContainer>
</div>
)
}
export default SimpleLeaflet;
이번에는 Weather maps 1.0을 시도했다. 현재는 Weather maps 2.0 가 론칭하고 있어 거기에서는 예보 데이터나 과거의 데이터도 취득할 수 있다고 하는 것이었지만, 시험한 결과가 잘 반영되지 않았으므로, 잘 취급할 수 있는 사람이 있으면 가르쳐 주세요.
(2021/5/7 추가)
직접 OpenWeatherMap에 문의했는데, 무료판에서는 대응하고 있지 않다는 것. Detailed price - OpenWeatherMap에 확실히 이렇게 써 있다. 시도할 수 없어서 유감.
Reference
이 문제에 관하여(React + OpenWeatherMap API로 현재 기상 보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/honda28/items/60323f80dde9761fc006텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)