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() {
|
function getLocation() {
|
||||||
if (!navigator.geolocation) {
|
if (!navigator.geolocation) {
|
||||||
alert("Geolocation tidak didukung oleh browser ini.");
|
alert("Geolocation tidak didukung oleh browser ini.");
|
||||||
|
@ -89,7 +102,7 @@ function getLocation() {
|
||||||
var lat = position.coords.latitude;
|
var lat = position.coords.latitude;
|
||||||
var lng = position.coords.longitude;
|
var lng = position.coords.longitude;
|
||||||
|
|
||||||
fetch(
|
fetchWithTimeout(
|
||||||
`https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json&accept-language=id`
|
`https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lng}&format=json&accept-language=id`
|
||||||
)
|
)
|
||||||
.then((response) => response.json())
|
.then((response) => response.json())
|
||||||
|
@ -99,10 +112,17 @@ function getLocation() {
|
||||||
mapContainer.style.display = "block";
|
mapContainer.style.display = "block";
|
||||||
map.invalidateSize();
|
map.invalidateSize();
|
||||||
|
|
||||||
var address = `Desa ${data.address.village}, Kecamatan ${
|
console.log(data);
|
||||||
data.address.township ? data.address.township : `-`
|
|
||||||
}, Kabupaten ${data.address.city}, Provinsi ${
|
var address = `Desa ${
|
||||||
data.address.state
|
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;
|
addressField.value = address;
|
||||||
|
|
||||||
|
@ -129,8 +149,53 @@ function getLocation() {
|
||||||
lngField.value = lng;
|
lngField.value = lng;
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.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) {
|
function (error) {
|
||||||
alert("Error: " + error.message);
|
alert("Error: " + error.message);
|
||||||
|
|
Loading…
Reference in New Issue