Javascript ile il ilçe konum bulma

İl ve ilceye göre google servislerini kullarak ve eşleştirerek konum bulabilir ve kullanabilirsiniz. bunun için biz öncelikle google konum apini aktif edip keyimizi asağıdaki kod karsılığına yazalım sonra birtane json dosyası oluşturup buradaki il ilçe bilgilerini gelen konumla eşleştirip aktifleştirelim

Json formatımız [
  { "id":1,"il": "ADANA",
    "ilce": "ADANA",
  
    "value":111},
{ "id":2,"il": "ADANA",
    "ilce": "ALADAĞ",
  
    "value":112},
{ "id":3,"il": "ADANA",
    "ilce": "CEYHAN",
  
    "value":113}]


<script  src="https://maps.googleapis.com/maps/api/js?key=kendi keyimiz"
  type="text/javascript"></script>
  
  <script>
  //konumget diye bir metod tanımlıyoruz.
  function KonumGet(){
  var geocoder; var a;
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
    // SetCurrentPrayerTimeColor();
}
function successFunction(position) {
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
    codeLatLng(lat, lng);
}
var cityName;
function errorFunction(ex) {
    console.log(ex);
}
function codeLatLng(lat, lng) {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(lat, lng);
    geocoder.geocode({ 'latLng': latlng }, function (results, status) {
        if (status === google.maps.GeocoderStatus.OK) {
            if (results[1]) {
                var indice = 0;
                var city, region, country;
                var fullAddress = results[1].formatted_address;//konuma ait tüm adres bilgisini getirir.
                //Yurt dışı ülke bilgileri getiriliyor
                try {

                    //ülkeye ait şehir bilgisi getiriliyor
                    $.getJSON("https:jsondosyasi.json", function (data) {
                        var selectedLocation;
                        var selectedState;
                        //önce state bilgisinin eşleşmesine bakılıyor. ayrı ayrı bakılmamasının nedeni örnek olarak ankara bala ilçesi için veri city bilgisinde arandığında ankara ve bala olarak iki sonuç döndürecektir. Yani state bilgisi ile city bilgisi aynı olabildiği için aradaki city'i ayıklamak için aşağıdaki kod kullanılmıştır.
                        selectedState = $.grep(data, function (val) {
                            return fullAddress.toUpperCase().indexOf(val.il.toUpperCase()) > -1;
                        });
                        if (selectedState && selectedState.length > 0) {
                            selectedState = selectedState[0];
                            selectedCity = $.grep(data, function (val) {
                                return (fullAddress.toUpperCase().indexOf(val.il.toUpperCase()) > -1 && fullAddress.toUpperCase().indexOf(selectedState.ilce) > -1);
                            });
                            if (selectedCity && selectedCity.length > 0) {
                                selectedCity = selectedCity[0];
                                selectedLocation = selectedCity;
                            }
                            else {
                                selectedLocation = selectedState;
                            }
                        } else {
                            //Eğer hiçbir il veya ilçe bulamazsa
                        }
					selectedCity.ilce
//bizim ilçemiz oluyor. 
selectedCity.il
//bizim ilimiz oluyor.	

                    }).fail(function (ex) {
                        console.log(ex);
                        //hata alındığında ankara yazılabilir
                    });
                } catch (e) {
                    console.log(e.message);
                    //hata alındığında ankara yazılabilir
                }
            }
            else {
                alert("No results found");
            }
        }
        else {
            alert("Geocoder failed due to: " + status);
        }
    });
}
  }
Önizlememizdede göreceğiniz üzre konumumum geldi. bir tesekkürü haketmişizdir demi 😉

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir