Arkadaslar bende 1.nesil iphone 8 gb var, bundan önceki surumde (1.4) maps'i actigimda yerimi bul dedigimde wireless baglanti varken bulmaya calisiyordu ve cogunlukla bulamiyordu. Ancak simdi 2.0.1 e gectim ve su anda bulundugum berlinde cevrenin haritasini wi-fi olan bir yerdee biraz indirdim ve daha sonra wi-fi olmayan yerlere gittigimde yerimi goster dedigimde her yerde yerimi offline olarak net olarak gosteriyor yer bilgilerini acaba nereden aliyor benim aklima direkt sebekeler geldi. Bu konuda bilgisi olan varmi arkadaslar. (Arkadaslar yazim hatalari icin kusura bakmayin klavye tr degil)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Şebeke vericilerinin kullanıldığı doğru fakat bildiğim kadarıyla şebeke vericilerinin koordinatlarını almak için mutlaka internete ihtiyaç var, bu yüzden de 1.1.4'teyken mutlaka internete bağlı olmak gerekiyordu. (Bu arada bu işlem için -yine bildiğim kadarıyla- 3 adet baz istasyonu kullanılıyor ve "triangulation" olarak adlandırılan işlem yapılıyor. Baz istasyonlarına olan uzaklık çok net olarak hesaplanamadığı için bu işlem yapılsa da epeyce bir hata payı kalabiliyor (Ankara'da 300 metre'nin üzerinde bir hata payı ile karşılaşmadım şahsen, kızılay, eryaman ve akyurt'ta denedim))
Baz istasyonlarının koordinat bilgilerini göndermeye başladığını zannetmiyorum (gönderiyor olsalar internete ihtiyaç duyulmadan telefon üzerinde konum tespiti yapılabilir).
Şahsi tahminim şudur ki internete bağlı bir şekilde haritayı kullanırken yalnızca harita görüntüleri değil, etraftaki baz istasyonlarının koordinat bilgileri de internetten alınıyordur. Bu şekilde haritanın önbellekten gösterilmesi gibi konum bilgisi de önbellekteki koordinatlar kullanılarak gösteriliyor olabilir.
Bu arada, aynı şekilde interneti kapattığım halde konumumu tespit edebildi telefon (bu noktada daha önce de koordinat tespiti yapmıştım (2.0.1 bellenimi kullanıyorum bu arada)). Yarım saat kadar sonra şu an bulunduğum yerden uzaklaşmış olacağım, halen tespit edebiliyor mu bakıp bir yorum yapabilirim o zaman.
Dün hareket halindeyken haritayı ve interneti açık bıraktım. Eve ulaştığımda dosyada 39 adet koordinat bilgisi vardı. Bu sabah, aynı güzergahtan geri gelirken interneti kapatıp yer tespiti yapmayı denedim, başarılı olamadı. Baktığımda gördüm ki dosya sıfırlanmıştı. Yedeğini almıştım, bu yedeği geri yükleyip .lastpurge değerini ileriye aldım ve haritayı yeniden çalıştırdım. Bu sefer işe ulaşana kadar başarılı bir şekilde konum tespitini gerçekleştirdi. Yani bu şekilde bir önbellekleme var fakat 12 saat belki de daha kısa bir süre sonra dosya sıfırlanıyor. (Otomatik olarak değil tabi, haritayı açmadan önce dosya eskisi gibi duruyordu. Harita uygulamasını açınca muhtemelen en başta bir kontrol yapıp en son değiştirilme tarihi üzerinden belli bir süre geçmişse dosyayı sıfırlıyor)
<string> başındaki 2 muhtemelen harita yakınlaştırma seviyesi. 16'lık sistem yazılan sayılar ise dediğim gibi referans alınan baz istasyonlarının numaraları olabilir, bunu doğrulayamadım henüz fakat CoreTelephony/CoreTelephony.h dosyasının içerisindeki __CellInfo yapısında location, cellid, station gibi değerler var. Ufak bir program yazıp _CTServerConnectionCellMonitorGetCellInfo arayuzu ile bu değerleri okuyup bu plist dosyasındaki değerler ile karşılaştırmayı düşünüyorum, eve gidince artık :) (Ekleme: 16'lık düzendeki bu iki sayıdan birincisi bölge kodu (location area code) ikincisi de baz istasyonu numarası gibi duruyor, deneyeceğiz bakalım)
Yalnız, baz istasyonu numarasıysa bunlar yer hesaplama yalnızca iki baz istasyonu kullanılarak yapılıyor olabilir. Bendeki bütün girdilerde yalnızca 2 adet bu tip sayı vardı. CellID değerlerini okuyabilirsem bu değerleri çiftler halinde Google Map/My Location API'sine gönderip telefonda bulunan koordinatla aynı koordinatı bulup bulmayacağını da denemek istiyorum, ondan sonra yorum yapmaya devam edebilirim.
Bu arada TURKCELL'de olmayan bir arkadaş telefonunda yer tespiti yapıp bu dosyanın içerisindeki <key> kısmındaki değerlerin ne olduğunu bildirebilirse memnun olacağım. (Ekleme: arkadaşın AVEA hattını benim telefona takıp denedik ve operatör numarası olduğunu tahmin ettiğim yerin değerinin 003 olduğunu gördüm, vodafone'da da 002 çıkar muhtemelen, telsim'den aynen devam ettiğini varsayıyorum tabi. Bu arada şu an bulunduğum yerde TURKCELL yaklaşık 500 metre ötede bir sonuç verirken AVEA yaklaşık 50 metre hatalı bir sonuç verdi.)
Yalnız, "WiFi hotspot" tabiri kafaları karıştırmasın. "If you’re not in range of a Wi-Fi hot spot" demek "wi-fi ile (veya herhangi bir şekilde) internete bağlanamıyorsanız" anlamına gelmiyor. Bu yöntem, yakınınızda bir "wi-fi hotspot" olup olmadığına bakıyor ve varsa bu "wi-fi hotspot"ların konum bilgilerini yerinizi hesaplamada kullanıyor. Yani bu "wi-fi hotspot"lardan herhangi birisine bağlanmamış olsanız bile bu yöntem ile yeriniz tespit edilebiliyor. Türkiye'de bildiğim kadarıyla yalnızca TTNet'in "hotspot"ları var şu an (yanlış biliyor olabilirim), onlar da Skyhook sistemine dahil edilmiş midir, bilmiyorum. Dolayısıyla Türkiye'deyken GPS'iniz yoksa baz istasyonları kullanılarak yapılan konum tespitine bağımlı kalıyorsunuz ve bunun için de (önbellek yeterince dolu olmadığı sürece) internet bağlantısı gerekiyor. ("wi-fi hotspot"ların kullanılmasının şöyle bir avantajı var: takdir edersiniz ki kablosuz internet dağıtıcıların kapsama alanı baz istasyonlarınınkine göre oldukça düşüktür, yani hangi hot-spot'ların kapsama alanında olduğunuz bilinirse yerinizin tespit edilmesi çok daha kolay ve tutarlı olacaktır)
Önbellek silinmesi ile ilgili durum dediğimden farklı olabilir tabi ki, tam bir bağımsız deney ortamında test etmem mümkün olmadı neticede. Fakat dediğiniz gibi internet kapalı olmadığı halde bir haftadır farklı noktalarda konum tespiti yapabiliyorsanız cells.plist dosyanızın epeyce kabarık olması gerekir :) boyutunu bir kontrol edebilirseniz sevineceğim.
Bir de uyarmam gereken bir konu var, EDGE'i BossPrefs ile kapattığınızı belirtmişsiniz. BossPrefs ile gelen EDGE seçeneği herkeste çalışmayabiliyormuş. Nitekim BossPrefs'i ilk kurduğumde EDGE'i oradan kapatsam bile EDGE açık kalıyordu ve interneti kullanabiliyordum. Bu durumun önüne geçmek için BossPrefs'te "Config" tuşu ile ayarlar kısmına girip "New Edge Toggle" seçeneğini kapalı (off) durumuna getirmeniz gerekiyor. Aksi halde EDGE'i kapattığınızı sandığınız halde EDGE açık kalmış olabilir. Böyle bir durumla karşı karşıya olup olmadığımızı anlamak için rica etsem Google Maps uygulamasında yer tespiti yaptıktan sonra Safari ile bir sayfaya girmeyi deneyebilir misiniz acaba? Çünkü eminim ki internet veya çok büyük bir önbellek (veya baz istasyonu koordinatlarının veritabanı) dosyanız olmadan baz istasyonu tabanlı yer tespiti yapmanız imkansız (ki normalde eminim diye pek konuşmam :) )
*****
Düzeltme ve ekleme: "Hotpoint" kavramı bütün kablosuz internet bağlantı noktalarını kapsıyor da olabilir, öyle de olsa bu noktalar aracılığı ile konum tespit edebilmek için öncelikle bu bağlantı noktalarının konum bilgilerinin bir veritabanına aktarılması gerekiyor. Skyhook'un sitesinde bu noktaların konum bilgilerinin nasıl toplandığı ile ilgili bir bilgi verilmiş.http://www.skyhookwireless.com/howitworks/faq.php adresindeki "How do you determine the location of these Wi-Fi access points?" başlığında anlatılana göre Skyhook'un veri toplama donanımına sahip araçlar yollarda gezdiriliyor ve her bir noktadaki kablosuz ağ bilgileri belli bir şekilde biçimlenip konum, zaman gibi bilgilerle beraber saklanıyormuş. Bu işin böyle araç gezdirilerek yapılacağı aklıma gelmezdi :) Gerçi Google Maps'in "Street View" uygulaması için de benzer bir yöntem uygulanmıştı galiba.
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi anorexia -- 18 Ağustos 2008; 15:46:18 >