Untuk **ambil alamat dari longitude–latitude** itu namanya **reverse geocoding**. Ada beberapa cara, tergantung mau **pakai API online** atau **offline**. --- ## ✅ Cara PALING UMUM: Google Maps Reverse Geocoding ### Contoh koordinat ``` lat = -6.200000 lng = 106.816666 ``` --- ### 🔹 JavaScript (fetch) ```js const lat = -6.2; const lng = 106.816666; const apiKey = "API_KEY_KAMU"; fetch(`https://maps.googleapis.com/maps/api/geocode/json?latlng=${lat},${lng}&key=${apiKey}`) .then(res => res.json()) .then(data => { console.log(data.results[0].formatted_address); }); ``` 📌 Output contoh: ``` Jakarta, Daerah Khusus Ibukota Jakarta, Indonesia ``` --- ### 🔹 Response penting dari Google ```json { "formatted_address": "Jl. MH Thamrin No.1, Jakarta Pusat, Indonesia", "address_components": [ { "long_name": "Jakarta Pusat", "types": ["administrative_area_level_2"] } ] } ``` --- ## ✅ Alternatif GRATIS (tanpa API key): OpenStreetMap (Nominatim) ⚠️ Ada rate limit (jangan spam) ### JavaScript ```js fetch(`https://nominatim.openstreetmap.org/reverse?lat=-6.2&lon=106.816666&format=json`) .then(res => res.json()) .then(data => { console.log(data.display_name); }); ``` 📌 Output: ``` Jakarta Pusat, DKI Jakarta, Indonesia ``` --- ## ✅ Flutter (sering dipakai di mobile) ### Pakai `geocoding` package ```dart import 'package:geocoding/geocoding.dart'; List placemarks = await placemarkFromCoordinates(-6.2, 106.816666); Placemark place = placemarks.first; print(place.street); print(place.locality); print(place.country); ``` --- ## ✅ Golang (pakai OpenStreetMap) ```go resp, _ := http.Get( "https://nominatim.openstreetmap.org/reverse?lat=-6.2&lon=106.816666&format=json", ) defer resp.Body.Close() var result map[string]interface{} json.NewDecoder(resp.Body).Decode(&result) fmt.Println(result["display_name"]) ``` --- ## ⚠️ Penting diketahui * Reverse geocoding **tidak 100% presisi** * Bisa beda hasil antar provider * Google = paling akurat, tapi **berbayar** * OSM = gratis, tapi **lebih lambat** --- ## 🔥 Mau hasil lebih detail? Kamu bisa ambil: * Jalan * Kecamatan * Kota * Provinsi * Kode pos Tinggal bilang: * **pakai bahasa apa** (JS / Flutter / Go) * **provider** (Google / OSM / Mapbox) * mau **online atau offline** Nanti aku bikinin contoh **siap copy–paste** 👍