var mapEdit, drawnItems, drawControl, googleHybrid, iconMarker; var currentMarkerEdit = null; var formEdit = document.getElementById("edit-form"); var provinceEditField = formEdit.querySelector("#province-edit-field"); var provinceEditVal = new Choices(provinceEditField); var regencyEditContainer = formEdit.querySelector("#regency-edit-container"); let regencyCode = formEdit.querySelector("#regency-code").dataset.regency; var regencyEditField = formEdit.querySelector("#regency-edit-field"); var regencyEditVal = new Choices(regencyEditField, { shouldSort: false, }); var districtEditContainer = formEdit.querySelector("#district-edit-container"); let districtCode = formEdit.querySelector("#district-code").dataset.district; var districtEditField = formEdit.querySelector("#district-edit-field"); var districtEditVal = new Choices(districtEditField, { shouldSort: false, }); var addressEditContainer = formEdit.querySelector("#address-edit-container"); var addressEditField = formEdit.querySelector("#address-edit-field"); var mapEditConatiner = formEdit.querySelector("#map-edit-container"); var latEditField = formEdit.querySelector("#lat-edit"); var lngEditField = formEdit.querySelector("#lng-edit"); var polygonField = formEdit.querySelector("#polygon-edit"); let latDb = formEdit.querySelector("#lat-db").dataset.lat; let lngDb = formEdit.querySelector("#lng-db").dataset.lng; let polygonDb = formEdit.querySelector("#polygon-db"); let polygonData = polygonDb.getAttribute("data-polygon"); var loadingEdit = formEdit.querySelector("#loading-edit"); var btnEditContainer = formEdit.querySelector("#edit-footer"); function initMapEdit() { mapEdit = L.map("map-edit", { attributionControl: false, }).setView([-8.157416852745705, 113.72281580436439], 16); googleHybrid = L.tileLayer( "http://{s}.google.com/vt?lyrs=s,h&x={x}&y={y}&z={z}", { maxZoom: 20, subdomains: ["mt0", "mt1", "mt2", "mt3"], } ).addTo(mapEdit); iconMarker = L.icon({ iconUrl: "/assets/images/marker.png", iconSize: [50, 50], iconAnchor: [25, 50], popupAnchor: [0, -50], }); currentMarkerEdit = L.marker([-8.157416852745705, 113.72281580436439], { icon: iconMarker, draggable: true, }) .addTo(mapEdit) .bindPopup( `
Terjadi kesalaahan saat mengambil data, silahkan coba beberapa saat lagi
"; } } }, error: function (xhr, status, error) { mapEditConatiner.style.display = "block"; mapEditConatiner.innerHTML = "Terjadi kesalaahan saat mengambil data, silahkan coba beberapa saat lagi
"; }, }); } function getDistricts(regencyId) { districtEditContainer.style.display = "none"; addressEditContainer.style.display = "none"; loadingEdit.style.display = "block"; mapEditConatiner.style.display = "none"; handleDrawDeleted(); const url = "/location/get-district/" + regencyId; $.ajax({ url: url, type: "GET", success: function (response) { if (response.success) { loadingEdit.style.display = "none"; const data = response.data; console.log(data); districtEditVal.clearStore(); districtEditVal.clearChoices(); districtEditVal.value = ""; districtEditVal.setChoices([ { value: "", label: "Pilih Kecamatan", selected: false, disabled: true, }, ]); if (Array.isArray(data)) { districtEditVal.setChoices( data.map((district) => ({ value: district.id, label: district.name, selected: district.id == districtCode, disabled: false, })) ); districtEditContainer.style.display = "block"; } else { mapEditConatiner.style.display = "block"; mapEditConatiner.innerHTML = "Terjadi kesalaahan saat mengambil data, silahkan coba beberapa saat lagi
"; } } }, error: function (xhr, status, error) { mapEditConatiner.style.display = "block"; mapEditConatiner.innerHTML = "Terjadi kesalaahan saat mengambil data, silahkan coba beberapa saat lagi
"; }, }); } function showmap(districtId) { loadingEdit.style.display = "block"; if (!navigator.geolocation) { alert("Geolocation tidak didukung oleh browser ini."); return; } navigator.geolocation.getCurrentPosition( function (position) { loadingEdit.style.display = "none"; mapEditConatiner.style.display = "block"; mapEdit.invalidateSize(); addressEditContainer.style.display = "block"; btnEditContainer.style.display = "block"; var lat = position.coords.latitude; var lng = position.coords.longitude; console.log(lat, lng); mapEdit.setView([lat, lng], 16); if (currentMarkerEdit) { mapEdit.removeLayer(currentMarkerEdit); } var iconMarker = L.icon({ iconUrl: "/assets/images/marker.png", iconSize: [50, 50], iconAnchor: [25, 50], popupAnchor: [0, -50], }); currentMarkerEdit = L.marker([lat, lng], { icon: iconMarker, draggable: true, }).addTo(mapEdit); currentMarkerEdit.on("dragend", onPointerDragend); currentMarkerEdit .bindPopup( `