Android kaba konumu nasıl alıyor?


15

Android (ve iOS gibi benzer işletim sistemleri) WiFi veya GSM kule üçgenleme kullanarak geçerli kaba konumu aldığını okudum. Temel fikri anlıyorum ama ayrıntılar hakkında sorularım var.

  1. Android normalde her iki yöntemi de kullanıyor mu yoksa birini mi tercih ediyor ve diğerine mi düşüyor?
  2. WiFi üzerinden pozisyon almak için bir sunucu ile iletişim kuruyor mu? (örneğin, WiFis'in SID'lerini bir web hizmetine gönderme)
  3. GSM kuleleri üzerinden pozisyon almak için Taşıyıcı ile iletişim kuruyor mu yoksa bu cihaz üzerinde mi yapılıyor?

Yanıtlar:


8

Konum hizmetinin nasıl uygulanacağı gerçekten geliştiriciye bağlıdır. Tam açıklamaya buradan ulaşabilirsiniz:

http://developer.android.com/guide/topics/location/obtaining-user-location.html

Sayfada yaklaşık 1 / 3'lük grafik, tipik bir uygulamanın neler yapabileceğini görmek için oldukça yararlıdır, ancak yine de uygulama geliştiricisine tamamen bağlıdır. Konum hizmeti türleri:

  • Önbellek Düzeltme
  • Hücre-ID
  • Kablosuz internet
  • Küresel Konumlama Sistemi
  • Mock Bölgesi

Uygulama yalnızca kaba konum için izin isterse, konumu belirlemek için GPS kullanmaz.

Sorularınızı cevaplamak için ...

  1. Tek tek uygulama geliştiricisine bağlıdır, ancak çoğu durumda sıra, bu sırayla Önbellek Düzeltme, Hücre Kimliği, Wifi, GPS olacaktır.
  2. Evet, WiFi sinyallerinin kule kimliklerini veya SSID'lerini aldıktan sonra, bu veriler kaba bir konum belirlemek için Google'a iletilir.
  3. Hayır, Google burada gerçekten akıllıca bir şey yaptı. Google'ın kendi baz istasyonu konumları veritabanı vardır ve kulenin konumunu belirlemek için taşıyıcıyla etkileşim gerektirmez.

Bu makalede bazı ayrıntılar var http://franciscokattan.com/2010/02/06/dynamic-cell-id-clever-way-to-block-google-but-will-it-backfire/

Kısa sürüm, Google Haritalar gibi bir uygulama kullandığınızda, uygulamanın geçerli Hücre Kimliği bilgilerini geçerli GPS düzeltmenizle birlikte geri göndereceği yönündedir. Bu şekilde Google, çeşitli konumlardaki sinyal güçlerinden çok iyi bir örnekleme alır ve çok zengin bir veritabanı oluşturabilir.


Cevabınızı çok beğendim, ancak "tamamen geliştiriciye bağlı" hakkınız olup olmadığından emin değilim. Anlayabildiğim kadarıyla, geliştirici sadece iyi veya kaba konumu almaya karar verebilir. Başka bir deyişle, konumu edinmek için LocationManager.NETWORK_PROVIDER ve / veya LocationManager.GPS_PROVIDER kullanabilir. Bence Wifi ya da GSM kullanılıyorsa karar veremiyor hatta göremiyor, değil mi?
Tim Büthe

En yaygın durumda, geliştirici verilerin WiFi veya Cell-ID'den gelip gelmediğini umursamaz, ancak geliştirici yalnızca uygulamanın WiFi devre dışı bırakıldığında veya GPRS / GSM devre dışı bırakıldığında çalışmasına izin vermek için kısıtlamalar koyabilir. Sorunuzu şu anlama geldim: "Tüm uygulamaların takip ettiği standart bir sıra var mı" ve bunun cevabı hayır. Bununla birlikte, WiFi ve Cell-ID arasındaki farkla ilgili olarak, uygulama geliştiricisinin özel olarak bir tür konum hizmeti isteme yeteneği sınırlıdır.
JadeMason

1
mahallemde / iç mekanımda daha iyi bir üçgenleme yapabilmem için Wi-Fi etkin noktalarının konumlarını veritabanlarına göndermenin bir yolunu biliyor musunuz? Bu sorularım için bir konu açtım: android.stackexchange.com/questions/4715/…
Özgür

3

Bunların birçoğu taşıyıcıya özgü ve ben bir geliştirici değilim ama web suçlarından ve elektronik suç soruşturmasında yaşadığım eğitimlerden bir araya getirebileceğim şey:

  1. Evet, ancak geliştirici tarafından ayarlanan ve mevcut kurs doğruluğuna, güç seviyelerine, önceden tanımlanmış önceliklere dayalı olabilen belirli uygulamalar LBS önceliklerine bağlıdır ...
  2. Evet. Taşıyıcıların tescilli Wifi baz istasyonu konum DB'leri vardır.
  3. Android ile özel olarak konuşamıyorum, ancak genellikle bu taşıyıcı ve ağ türü (CDMA veya GSM) olacak. Telefonlar her ikisini de yapabiliyor ancak en az birkaç yıl önce bu işi ahize üzerinde yapıyorlar, çünkü bant genişliği kısıtlamaları yapıyor.


0

Telefonunuz en yakın kulelerin ne olduğunu biliyor. Kule kimliğinin haritada bulunduğu her ülke için bir sağlayıcı veritabanı vardır. Bu veritabanı, sağlayıcınız tarafından önceden yüklenecek veya kablosuz olarak sağlanabilecek kadar küçük olabilir. Android telefonun bu verileri nasıl elde ettiğini bilmiyorum.


-1

# 3 için biraz farklı cevaplarım var: nirengi kullanmak istiyorsanız cihaz kullanılabilir, ancak Cell-ID'yi ve gsm (veya cdma) kulesinin yerelleştirmesini eşleştirmek istiyorsanız taşıyıcıyı kullanmanız gerekir.


ancak bu bir uygulama geliştiricisi veya son kullanıcı tarafından belirlenebilen bir seçenek mi yoksa operatör tarafından belirlenen bir şey mi?
Matt

Bir cihazı yerelleştirmek için bu yolu kullanmak istiyorsanız, zorunludur. Nirengi veya başka bir yöntem kullanmak, anten konumuna karşı nerede olduğunuzu bilmenizi sağlar. Ancak antenin enlem / boylamını bilmiyorsanız, harita üzerinde konumunuzu alamazsınız. I home I clear :)
Rob

@Rob Ama kulenin yerini bulmak için taşıyıcıya ihtiyacınız yok. Her kule benzersiz bir kimlik yayınlar, herhangi biri taşıyıcı etkileşimi olmadan bağımsız olarak bunu alabilir ve eşleyebilir. Google bunu bir süredir baz istasyonları ve WiFi erişim noktaları için yapıyor. Google Streetview aracı, bilgileri seyahat ederken alır ve çeşitli platformlardaki Google Haritalar kullanıcıları, GPS düzeltmelerini anten ve wifi kimlikleri ve gücü ile eşleşen anonim verileri de geri gönderir. Bu, Google'ın şehirlerdeki trafik verilerinin çoğunu nasıl aldığına benzer, hız ve konum bilgilerini birçok Google Haritalar kullanıcısından toplar.
GAThrawn

Emin misiniz ? Şaşırtıcı görünüyor. Örneğin, Almanya'da (ve Avrupa'daki diğer ülkelerde) Google, wifi bilgilerini toplamak için dava edildi, bu nedenle bu kaynağı kullanmadılar. GSM veritabanı için, Google'ın bir sahibi varsa, erişilebilir olması gerekir ve bunu hiç duymadım.
Rob

1
@Rob googlemobile.blogspot.com/2008/06/… "Telefon şu anda kullanmakta olduğu baz istasyonu kimliğini biliyor. Telefonda GPS varsa, telefondaki Haritalar uygulaması GPS koordinatlarını hücre kimliğiyle birlikte gönderir. Google konum sunucusu. " bağlantıyı şu anda bulamıyorum, ancak bir süre önce Blackberry Google Haritalar uygulamasının yakındaki WiFi SSID'yi ve gücünü aynı nedenden dolayı geri gönderdiğini açıkladılar. Bu, amaçlanandan daha fazla WiFi verisi yakalayan Streetview yazılımındaki programlama "hatası" ile aynı değildir.
GAThrawn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.