2016-03-29 18 views
-1

openWeatherMap adresinden hava durumu bilgilerini almak için kullanılan konum bilgilerini almak için ipinfo(kullanıcının otomatikleştirilmesine gerek yoktur) veya eşdeğerini kullanıyorum. Sorun, ip adresi kullanarak lokalizasyonun, kullanıcının internet erişim noktasına (ISP, ...) bağlı olduğu düşünüldüğünde kesin olmamasıdır. Örneğin, Kamerun'u ülke olarak düşünürsek, internet bağlantım Yaoundé'da bulunan bir sunucu tarafından sağlanıyorsa ve Dschang; ipinfo bir gibi ortak ip lokalizasyonu API, benim şehir konumu olarak Yaoundé verecektir. Yani, sunucu farklı bir ülkede bulunuyorsa, eşdeğer sonuca sahip olacağız. Aynı amacıyla javaScript/API - Kullanıcının hassas konumu nasıl edinilir?

, HTML5 yer bulma API (kullanıcının Autorization gerekir) olan bu (bazen 100m doğrulukla) daha hassas olabileceği gerçeğini göz önünde bulundurarak mükemmel bir yol gibi görünüyor. Bununla birlikte, bu hassasiyet API fonksiyonunun argüman ayarları ve tarayıcı konfigürasyonunu dikkate almayı gerektirir; Bu makale html5doctor.com'dan bu konuda biraz ışık veriyor. Benim sorunum, bununla beklenen sonuç da değil; Önceki örneğini dikkate alarak, Dschang yerine Douala (ISP konumu) sonucunu aldım.

Peki, bu yöntemlerle daha kesin sonuçlara nasıl sahip olabilirsiniz veya kullanıcının kesin konumunu almanın başka bir yolu var mı?

+5

Bu burada [http://stackoverflow.com/questions/2577305/how-to-get-gps-location yanıtlandı -den-web-tarayıcı] (http://stackoverflow.com/questions/2577305/how-to-get-gps-location-from-the-web-browser) –

+0

Ayrıca HTML5-geolocalization yöntemi hakkında da biliyorum Aynı zamanda kesin değil gibi görünüyor (beklenen sonucu elde etmiyorum), ancak ip adresi yerelleştirme yönteminden daha hassas görünüyor. Bu iki yöntem tek mevcut yöntemler nelerdir? (belki de onları nasıl kullanırım, ama sanmıyorum). – tnga

+0

Sihir yok. OpenWeatherMap sitesinin, şehir adınızı yazmanız için bir giriş kutusu vardır. Daha sonra bilgileri "cityid" adlı bir çerezde saklar. Bir dahaki sefere sitenizi ziyaret ettiğinizde, o şehir kimliğine ait bilgileri otomatik olarak görüntüler. – Roberto

cevap

1

Coğrafi konum için adresin kullanılması çok doğru değildir. Bunun nedeni, IP konum belirleme servislerinin veri toplama işlemine dayanmasıdır; bu, ipin, konumu kaydeden bir dabataza kayıtlı olduğunuzu ifade eder. Genellikle konum, gerçek konum yerine ISS konumudur.

Çok hassas bir konum sunabilen bazı ip konum belirleme hizmetleri (çoğu ticari hizmet) vardır. Bu servislerin bazıları, GPS konum bilgileri için Reklam sağlayıcılarına ödeme yaptıkları için iyi bir doğruluk sağlayabilir. Örneğin, mobil cihazınızı konum hizmetlerini aktif hale getirdiğinizde (GPS etkin) kullanırken ve Reklamları olan herhangi bir web sitesini ziyaret ettiğinizde, Reklamlar GPS konumunuzu alabilir ve bunu, koleksiyon için Reklam sağlayıcısına ödeyecek bir IP coğrafi konum hizmetine gönderebilir. hizmet. IP konum belirleme hizmeti, çok yakın koordinatlara sahip birçok kullanıcının aynı IP ile ağa bağlandığını algıladığında, IP gerçek konumunu sonlandırabilir, ancak bu da mükemmel değildir, çünkü bu kullanıcı dinamik bir IP'ye bağlanabilir veya GPS sinyali yok (kapalı).

Benim önerim, Javascript Geolocation API'sini bir IP coğrafi konumlandırma hizmeti ile birleştirmeyi denemektir.

You Coğrafi Konum API nasıl kullanılacağı hakkında bazı bilgileri bulabilirsiniz: http://html5doctor.com/finding-your-position-with-geolocation/

+0

etkin bir şekilde, Javascript Geolocation API'sini bir IP geolocation hizmeti/API ile birleştirmek için kullanıyorum. Sadece daha iyi ve optimal bir yol olup olmadığını bulmaya çalışıyorum. – tnga