fix(master-rule): set time request api
This commit is contained in:
parent
786d771653
commit
8c356399d9
|
@ -67,6 +67,19 @@ function initMap() {
|
|||
});
|
||||
}
|
||||
|
||||
function fetchWithTimeout(url, options = {}, timeout = 10000) {
|
||||
return Promise.race([
|
||||
fetch(url, options),
|
||||
new Promise((_, reject) =>
|
||||
setTimeout(
|
||||
() =>
|
||||
reject(new Error("Request timeout, periksa koneksi Anda")),
|
||||
timeout
|
||||
)
|
||||
),
|
||||
]);
|
||||
}
|
||||
|
||||
function getLocation() {
|
||||
if (!navigator.geolocation) {
|
||||
alert("Geolocation tidak didukung oleh browser ini.");
|
||||
|
@ -89,7 +102,7 @@ function getLocation() {
|
|||
var lat = position.coords.latitude;
|
||||
var lng = position.coords.longitude;
|
||||
|
||||
fetch(
|
||||
fetchWithTimeout(
|
||||
`https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json&accept-language=id`
|
||||
)
|
||||
.then((response) => response.json())
|
||||
|
@ -99,10 +112,17 @@ function getLocation() {
|
|||
mapContainer.style.display = "block";
|
||||
map.invalidateSize();
|
||||
|
||||
var address = `Desa ${data.address.village}, Kecamatan ${
|
||||
data.address.township ? data.address.township : `-`
|
||||
}, Kabupaten ${data.address.city}, Provinsi ${
|
||||
data.address.state
|
||||
console.log(data);
|
||||
|
||||
var address = `Desa ${
|
||||
data.address.village || "-"
|
||||
}, Kecamatan ${
|
||||
data.address.township ||
|
||||
data.address.suburb ||
|
||||
data.address.city_district ||
|
||||
"-"
|
||||
}, Kabupaten ${data.address.city || "-"}, Provinsi ${
|
||||
data.address.state || "-"
|
||||
}`;
|
||||
addressField.value = address;
|
||||
|
||||
|
@ -129,8 +149,53 @@ function getLocation() {
|
|||
lngField.value = lng;
|
||||
})
|
||||
.catch((error) => {
|
||||
alert("Error: " + error.message);
|
||||
btnLocation.disabled = false;
|
||||
btnLocation.innerHTML = `<i class="fa fa-location-arrow"></i> Dapatkan Lokasi Lahan!`;
|
||||
alert("Terjadi kesalahan: " + error.message);
|
||||
});
|
||||
|
||||
// fetch(
|
||||
// `https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json&accept-language=id`
|
||||
// )
|
||||
// .then((response) => response.json())
|
||||
// .then((data) => {
|
||||
// btnLocation.classList.add("d-none");
|
||||
// addressContainer.style.display = "block";
|
||||
// mapContainer.style.display = "block";
|
||||
// map.invalidateSize();
|
||||
|
||||
// var address = `Desa ${data.address.village}, Kecamatan ${
|
||||
// data.address.township ? data.address.township : `-`
|
||||
// }, Kabupaten ${data.address.city}, Provinsi ${
|
||||
// data.address.state
|
||||
// }`;
|
||||
// addressField.value = address;
|
||||
|
||||
// map.setView([lat, lng], 16);
|
||||
|
||||
// if (currentMarker) {
|
||||
// map.removeLayer(currentMarker);
|
||||
// }
|
||||
|
||||
// currentMarker = L.marker([lat, lng], {
|
||||
// icon: iconMarker,
|
||||
// draggable: true,
|
||||
// }).addTo(map);
|
||||
|
||||
// currentMarker.on("dragend", onPointerDragend);
|
||||
|
||||
// currentMarker
|
||||
// .bindPopup(
|
||||
// `<div class="text-center"><b>Anda berada di sini</b><br />Silahkan tentukan petak lahan.<br />Pastikan lokasi anda sudah benar.</div>`
|
||||
// )
|
||||
// .openPopup();
|
||||
|
||||
// latField.value = lat;
|
||||
// lngField.value = lng;
|
||||
// })
|
||||
// .catch((error) => {
|
||||
// alert("Error: " + error.message);
|
||||
// });
|
||||
},
|
||||
function (error) {
|
||||
alert("Error: " + error.message);
|
||||
|
|
Loading…
Reference in New Issue