-- Web Yazılım & Tasarım

Web Uygulamalarında HTML5 ile Konum Tespiti

Günümüz teknolojisinde GPS bulunmayan telefon sayısı epey azaldı. Artık adres bilgisinin yanında konum bilgisinin girilmesi de bu bilgi kullanılırken epey kolaylık sağlıyor. Bunun yanında konum bazlı web uygulamalarında da kullanıcının konumunun uygulama tarafından tespit edilebiliyor oluşu kullanıcı deneyimi açısından muazzam bir özellik.

Bu yazımda HTML5 ile web uygulamalarında kullanıcının (client) konumunu tespit etmenin yönteminden bahsediyorum. Kodlara geçmeden önce benim bu konuyu araştırırken aklıma takılan soruyu buraya da yazmak istiyorum. Google Maps’de tecrübe ettiyseniz konumunuzu çok yüksek doğrulukla tespit edebilmekte olduğunu görmüşsünüzdür. Peki ama GPS uyduları kullanmadan sadece internet bağlantınızla konumunuz nasıl tespit edilebiliyor ? Bu soruya verilmiş yanıtları buradan okuyabilirsiniz :

Stackoverflow link : http://stackoverflow.com/questions/3041113/how-exactly-does-html5s-geolocation-work

Aşağıdaki kodların çalışan JSFiddle örneği için bağlantıya tıklayınız. https://jsfiddle.net/t57bjb8a/

<button id="locateBtn" type="button" onclick="getLocation()">
Konum Al
</button>
<br />
<label id="location"></label>
var x = document.getElementById("location");

 getLocation = function() {
 if (navigator.geolocation) {
 navigator.geolocation.getCurrentPosition(onSuccess,onError);
 } else {
 x.innerHTML = "Tarayıcınız konum tespitini desteklemiyor.";
 }
}
function onSuccess(position) {
 x.innerHTML = "Enlem : " + position.coords.latitude + 
 "<br>Boylam : " + position.coords.longitude; 
}
function onError(error){
 switch(error.code) {
 case error.PERMISSION_DENIED:
 x.innerHTML = "Konum tespiti iznini vermediniz."
 break;
 case error.POSITION_UNAVAILABLE:
 x.innerHTML = "Konumunuz tespit edilemedi."
 break;
 case error.TIMEOUT:
 x.innerHTML = "İstek zaman aşımına uğradı."
 break;
 case error.UNKNOWN_ERROR:
 x.innerHTML = "Çarşı karıştı."
 break;
 }
}

Önemli Not : Konum tespiti Chrome tarayıcıların versiyon 50 ve sonrasında güvenli bağlantı olduğu durumlarda (ssl) çalışmaktadır. Local testlerinizi gerçekleştirmenizde yani localhost domainlerde bu kısıt yokken projenizi üretim ortamına aldığınızda web uygulamanız SSL desteklemelidir. Aksi halde chrome tarayıcılarda konum tespiti yapamazsınız.

İyi çalışmalar dilerim.

ersin yıldız

Yorumla

Yorum