Gempa Bumi Terkini adalah proyek yang bertujuan untuk menampilkan data gempa bumi terbaru di Indonesia secara visual dengan memanfaatkan API dari BMKG. Proyek ini mencakup:
- Map Marking: Menandai lokasi gempa bumi berdasarkan koordinat (latitude & longitude) pada peta.
- Remapping API BMKG: Mengambil data gempa bumi dari API BMKG dan menyajikannya dalam format yang lebih terstruktur serta mudah digunakan.
- Endpoint API yang dapat membantu mendapatkan deskripsi lokasi berdasarkan titik koordinat geografis
Teknologi: Typescript, Next.js, Leaflet, Zustand, Tailwind(Shadcn), Framer Motion
Endpoint ini digunakan untuk mendapatkan informasi alamat berdasarkan koordinat yang diberikan, seperti nama desa, kabupaten, provinsi, dan negara.
- Login ke https://opencagedata.com
- Dapatkan key di https://opencagedata.com/dashboard#geocoding
- Masukkan key ke header
x-api-key
const res = await fetch(`https://gempa-terkini-indonesia.vercel.app/api/address?latitude=${lat}&longitude=${lon}`, {
headers: {
'x-api-key': <your_api_key>,
},
});
const data = await res.json();
export type AddressType = {
status: {
code: number;
message: string;
};
data: {
address: string;
details: {
village: string;
county: string;
state: string;
region: string;
country: string;
};
};
licenses: { name: string; url: string }[];
};
ex: https://gempa-terkini-indonesia.vercel.app/api/address?latitude=-9.76&longitude=119.63
{
"status": {
"code": 200,
"message": "OK"
},
"data": {
"address": "Maloba, Sumba Tengah, Nusa Tenggara Timur",
"details": {
"village": "Maloba",
"county": "Sumba Tengah",
"state": "Nusa Tenggara Timur",
"country": "Indonesia"
}
},
"licenses": [
{
"name": "see attribution guide",
"url": "https://opencagedata.com/credits"
}
]
}
type EarthquakeType = {
region: string;
magnitude: string;
depth: string;
coordinates: {
latitude: number;
longitude: number;
};
date: string;
potency: string;
perceived: string[];
shakemap: string;
};
{
"data": [
{
"region": "Pusat gempa berada di darat 15 km tenggara Waibakul",
"magnitude": "4.7",
"depth": "50 km",
"perceived": ["II - III Waitabula"],
"potency": "Gempa ini dirasakan untuk diteruskan pada masyarakat",
"date": "05 Februari 2025, 21.18 WIB",
"coordinates": {
"latitude": -9.76,
"longitude": 119.63
},
"shakemap": "https://data.bmkg.go.id/DataMKG/TEWS/20250205211807.mmi.jpg"
},
{
"region": "Pusat gempa berada di darat 15 km tenggara Waibakul",
"magnitude": "4.7",
"depth": "50 km",
"perceived": ["II - III Waitabula"],
"potency": "Gempa ini dirasakan untuk diteruskan pada masyarakat",
"date": "05 Februari 2025, 21.18",
"coordinates": {
"latitude": -9.76,
"longitude": 119.63
},
"shakemap": ""
},
...
]
}
type EarthquakeType = {
region: string;
magnitude: string;
depth: string;
coordinates: {
latitude: number;
longitude: number;
};
date: string;
potency: string;
perceived: string[];
shakemap: string;
};
{
"data": [
{
"region": "61 km BaratLaut HALMAHERABARAT-MALUT",
"magnitude": "6.0",
"depth": "87 km",
"perceived": [""],
"potency": "Tidak berpotensi tsunami",
"date": "05 Februari 2025, 10.12",
"coordinates": {
"latitude": 1.63,
"longitude": 127.11
},
"shakemap": ""
},
{
"region": "86 km TimurLaut PULAUDOI-MALUT",
"magnitude": "6.2",
"depth": "105 km",
"perceived": [""],
"potency": "Tidak berpotensi tsunami",
"date": "03 Februari 2025, 04.35",
"coordinates": {
"latitude": 2.95,
"longitude": 128.19
},
"shakemap": ""
},
...
]
}
type EarthquakeType = {
region: string;
magnitude: string;
depth: string;
coordinates: {
latitude: number;
longitude: number;
};
date: string;
potency: string;
perceived: string[];
shakemap: string;
};
{
"data": [
{
"region": "Pusat gempa berada di darat 15 km tenggara Waibakul",
"magnitude": "4.7",
"depth": "50 km",
"perceived": ["II - III Waitabula"],
"potency": "Gempa ini dirasakan untuk diteruskan pada masyarakat",
"date": "05 Februari 2025, 21.18 WIB",
"coordinates": {
"latitude": -9.76,
"longitude": 119.63
},
"shakemap": "https://data.bmkg.go.id/DataMKG/TEWS/20250205211807.mmi.jpg"
}
]
}
type EarthquakeType = {
region: string;
magnitude: string;
depth: string;
coordinates: {
latitude: number;
longitude: number;
};
date: string;
potency: string;
perceived: string[];
shakemap: string;
};
{
"data": [
{
"region": "Pusat gempa berada di darat 15 km tenggara Waibakul",
"magnitude": "4.7",
"depth": "50 km",
"perceived": ["II - III Waitabula"],
"potency": "Gempa ini dirasakan untuk diteruskan pada masyarakat",
"date": "05 Februari 2025, 21.18",
"coordinates": {
"latitude": -9.76,
"longitude": 119.63
},
"shakemap": ""
},
{
"region": "Pusat gempa berada di laut 61 km barat laut Halmahera barat",
"magnitude": "6.0",
"depth": "87 km",
"perceived": [
"III - IV Manado",
"III Tondano",
"II - III Kotamobagu",
"III Ternate",
"III Batangdua",
"III Weda",
"II Minahasa Utara",
"IV Sofifi",
"III Ibu",
"III Jailolo",
"III Galela"
],
"potency": "Gempa ini dirasakan untuk diteruskan pada masyarakat",
"date": "05 Februari 2025, 10.12",
"coordinates": {
"latitude": 1.63,
"longitude": 127.11
},
"shakemap": ""
},
...
]
}