1. 날씨 API
https://home.openweathermap.org/api_keys
api key 확인하고~
위도 경도 필요해
https://coding-dahee.tistory.com/171
https://openweathermap.org/current
By geographic coordinates
- 위도 경도로 도시 이름도 알아내기 1
https://choiyb2.tistory.com/77
https://developers.google.com/maps/documentation/geocoding/start?hl=ko#ReverseGeocoding
1) google cloud platform 홈페이지 고고
2) Geocoding API 검색 후 추가
3) 결제 계정 연결
4) 사용자 인증 정보에서
Browser key (auto created by Firebase)
이용
const response = await fetch(
`https://maps.googleapis.com/maps/api/geocode/json?latlng=37.5399286,127.0684114&language=ko&key=${GOOGLE_CLOUD_BROWSER_API_KEY}`,
);
const responseJson: GeocodingResponse = await response.json();
const addressArr: string[] = responseJson.results[0].formatted_address.split(
' ',
);
setCityName(`${addressArr[2]} ${addressArr[3]}`);
cityName: "광진구 자양4동"
- 위도 경도로 도시 이름도 알아내기 2
www.bigdatacloud.com/supported-languages
GCP와 달리 무료!
GCP 쓰다가 크레딧을 다 써서 찾아본 무료 API.
팁) 각 나라에 맞는 locale code는 react-native-localize 라이브러리를 이용하면 된다!
import Geolocation, {
GeolocationError,
} from '@react-native-community/geolocation';
import * as RNLocalize from "react-native-localize";
const locale = RNLocalize.getLocales();
const getCityName = (): Promise<string> => {
return new Promise((resolve, reject) => {
Geolocation.getCurrentPosition(
async ({ coords }: CurrentPosition) => {
const lat = coords.latitude;
const lon = coords.longitude;
const response = await fetch(
`https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=${lat}&longitude=${lon}&localityLanguage=${locale}`,
);
const responseJson: GeocodingResponse = await response.json();
console.log('🔫 1 response', response);
console.log('🔫 2 responseJson', responseJson);
resolve(responseJson.city);
},
async (error: GeolocationError) => {},
{
enableHighAccuracy: false,
timeout: 2000,
maximumAge: 3600000,
},
);
});
};
2. 미세먼지 API
https://www.data.go.kr/iim/api/selectAPIAcountView.do
API KEY 발급받고 1시간 뒤에 사용 가능.
예제 문서 그대로 따라해보기 (아직 1시간 안지나서 못함)
https://www.data.go.kr/tcs/dss/selectApiDataDetailView.do?publicDataPk=15000581
오류 나서 여기에 문의 해둠
Buy Me A Coffee!
https://www.buymeacoffee.com/daheeahn