HTML5 Geolocation nedir? nasıl kullanılır?

0

HTML5 Geolocation nedir? nasıl kullanılır?

HTML5 Geolocation ile yeriniz nasıl belirleniyor?

HTML5 Geolocation kullanmanın avantajları nelerdir?

HTML5 Geolocation bir web uygulamasında nasıl kullanılır?

 

 

ergin ergin (2539)
10 yıl önce sordu

    Toplam 1 Cevap


    0

    HTML5 Geolocation (coğrafik yer) tarayıcının kendi içindeki komutları kullanarak kullanıcının konumunu almak için kullanılır. Web uygulamalarında kullanılan ve sayısız avantaja sahip bu teknoloji tarayıcıların sahip olacağı en güzel özelliklerden biridir. HTML5 Geolocation kullanıcının güvenliğini tehlikeye sokabilir, o yüzden kullanıcılardan konumunu öğrenmek için onay alınmaktadır. Kullanıcı onay vermeden kullanıcının konumu öğrenilemez. Gelişmiş tüm tarayıcılar bu özelliği desteklemektedir.

    HTML5 Geolocation destekleyen tarayıcılarda konum bilgisi kablosuz sinyaller için erişim noktalarına ve kullanıcıların ip adreslerinin kombinasyonuna dayanarak belirlenmektedir. Bunun anlamı yerleri belli olan kablosuz ağ merkezlerinin yakınındaysanız yeriniz daha net bir şekilde belirlenebilmektedir. HTML5 Geolocation bu özelliği GPS'i olan aygıtlarda kullanmak daha iyi sonuçlar vermektedir.

    Kullandığımız tarayıcıların HTML5 Geolocation özelliğini destekleyip desteklemediğini öğrenmek için aşağıdaki kodu kullabilirsiniz.

    if (navigator.geolocation) {
        alert("Tarayıcınız bu özelliği destekliyor.");
    }
    else{
        alert("Tarayıcınız bu özelliği desteklemiyor.");
    }

     

    HTML5 Geolocation kullanıcının konumunu bulmak

    getCurrentPosition() metoduyla kullanıcının yerini saptayabiliriz. Aşağıdaki örnek basit bir şekilde enlem ve boylam olarak kullanıcının konumunu döndürür;

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(basariliFonksiyon, hataFonksiyon);
    }
    else{
        alert("Tarayıcınız bu özelliği desteklemiyor.");
    }
    
    function basariliFonksiyon(position) {
        var enlem = position.coords.latitude;
        var boylam = position.coords.longitude;
        alert("Enlem : " + enlem + " Boylam : " + boylam);
    }
    
    function hataFonksiyon(position) {
        switch(position.code){
        case position.PERMISSION_DENIED:
            alert("Kullanıcı Geolocation isteğini kabul etmedi.");
            break;
        case position.POSITION_UNAVAILABLE:
            alert("Konum bilgileri kullanılamıyor.");
            break;
        case position.TIMEOUT:
            alert("Konumu almak için yapılan istek zaman aşımına uğradı.");
            break;
        case position.UNKNOWN_ERROR:
            alert("Bilinmeyen bir hata oluştu.");
            break; 
        }
    }
    

     getCurrentPosition() metodunun iki parametresi bulunmaktadır. İlk parametre örnek kodumuzda görüldüğü gibi işlem başarılı olduğunda çalışacak olan basariliFonksiyon isimli fonksiyonumuzdur. Bu fonksiyon çalıştığında ekrana hangi konumda olduğumuzu gösteren enlem ve boylam değerleri gelecektir.

     getCurrentPosition() metodunun ikinci parametresi ise hataları işlemek için kullanılmaktadır. Kullanıcı konumunu kullanmamıza engel olduğunda yapılması gereken kodları burada yazılacaktır. Örneğimizde ise hataFonksiyon isim fonksiyonumuz çalışacaktır ve bize kullanıcının konumunu neden alınamadığının nedeni ekranızda gözükecektir.

     getCurrentPosition() Metodu sonucunda geriye Dönen Veri (Return Data) türlerini açıklamak gerekirse;

    • coords.latitude : Ondalık sayı olarak enlemi vermektedir.
    • coords.longitude : Ondalık sayı olarak boylamı vermektedir.
    • coords.accuracy : Pozisyonun hassasiyetini - doğruluğunu vermektedir.
    • coords.altitude : Deniz seviyesinden ortalama yüksekliği vermektedir.
    • coords.altitudeAccuracy : Pozisyonun yükseklik hassasiyetini - doğruluğunu vermektedir.
    • coords.heading : Kuzeye saat yönünde kaç derece olduğunu vermektedir.
    • coords.speed : Saniyede ki hızı vermektedir.
    • timestamp : Cevabın tarihini - saatini vermektedir.

     

     

    ergin ergin (2539)
    10 yıl önce cevaplandı

      üyelik gerektirir

      Cevap yazabilmek için üye girişi yapmalısınız.

      Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
      uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol