12 Eylül 2014 Cuma

Appinventor GPS Sensörü Kullanımı

AI2 LocationSensor jeo-konum bazı temel kavramların bilgisi olmadan kullanmak zordur basit bir kontrol olduğunu. Konumu sensörü nesne telefon / tablet küresel konumlandırma uydu alıcısı (GPS) ile iletişim kurmak için kullanılır. LocationSensor dahili GPS alıcısı ile iletişim kurduğunda, GPS cihazınızın yerini belirleyebilir. Sensör ayrıca ağ / wifi yer hizmetleri ile çalışabilirsiniz. Çok farklı teknikler ağını kullanarak bir konum kullanır bulma GPS ile kullanılan daha yerini belirlemek için. Konum, cihazın mevcut enlem ve boylam anlamına gelir veya sizin sokak adresi anlamına gelebilir. Mesafe için yer nesne kullanılan ölçüm birimleri metre ve bu ölçümler için ondalık enlem / boylam vardır. Zaman milisaniye (ms) olarak ölçülür. O bir saniye = 1000 ms farkında olun. ve 60000 ms bir dakikadır.
Sensörü mesafesi bilgileri bildirir veya nesnesine mesafe ayarladığınızda, birimler metre olması gerekir. Kontrolü sadece metre anlar. App İngiliz birimleri uğraşmak gerekir, bunları görüntülemek anda birimlerini dönüştürmek için Matematik blokları kullanın. Ayağa dönüştürmek veya daha fazla farklı / matematik blokları kullanmak ve mil dönüştürmek. Her şeyi hesaplamak   içinde   metre, senin ekranda ayaklarda veya mil sonucu rapor. Sen metre kullanarak uygulamalar gerekli tüm hesaplamaları yapıyor olmalıdır beri her yerde birimleri dönüşüm yapmak zorunda değilsiniz. Metre düşünün!
Bir deniz mili Dünya'nın yarıçapı karşısında (bir dereceye 1/60) açısının bir dakika ile çapın mesafedir. Bir programcı bir enlem derecesi ve sonraki bütün derecesi arasındaki mesafe altmış deniz mili olduğu gibi bu sizin için ne anlama gelir. Boylam bir derece ekvatorda altmış deniz mili, ancak kutuplara doğru enlem değiştirmek gibi boylam komşu bütün dereceleri arasında ayrım azalır. Latitude'un derece arasındaki mesafeler sabit olduğu için, Boylam derece arasındaki mesafe değişebilir. Ondalık derece sensör raporları yeri enlem ve boylam. , Bir enlem derecesi 0,00001 bir deniz mili 0.006, ya da 3 metre, 7 + 3/4 inç düşünün. Ben geliştiriciler metre açısından düşünmelidir burada bahsedilen, ama uzun bir zaman önce, kılavuzları derece, dakika ve saniye İngiliz birimleri ile ilgili kendi geminin pozisyonunu tarif. Enlem ve Boylam hala derece, dakika ve saniye cinsinden açıklanmıştır. Pazarlamacılar ve diğerleri yaygın ondalık Enlem ve Boylam açıklamaları kullanabilirsiniz yüzden bu, bir bilgisayarda kullanmak için garip birimlerdir. Bunu yaparken hesaplamalarda matematik nispeten kolay hale getirir. Enlem derecesi 0.00001 bakarak metrik yolu 0,9144 metre dönüştürür olmasıdır. Ölçüm söyler, rapor edilebilir uydu konumsal bilgi 0.9 metrelik bir hassasiyetle etmektir. Uydular beş ondalık basamak duyarlığı kullanılarak konumsal verilerin rapor. Bu demek GPS küçük mesafe 0,9144 metre olmalıdır çözüldü birden çok uydudan bir düzeltme olur o zaman? Hayır başka nedenlerle, özel GPS alıcıları ile mümkün olan en iyi doğruluğu üç metre mertebesindedir. Daha iyi çözünürlük yapabilirsiniz teknikler vardır. Uydular beş ondalık basamağa enlem ve boylam rapor ,. Telefonunuz / tablet, GPS enlem veya boylam dört ondalık basamağa sadece doğru ve daha sonra açıklanacağı gibi doğruluğu vesilesiyle kötüdür. Bu araç ile uygulamalar geliştirmek gibi., Bir sürü yapabilirsiniz cihazınızdaki GPS farkında olmak, ancak doğruluğu birçok durumda sınırlıdır.
Eğer bir GPS sistemi nasıl çalıştığını anlamak eğer LocationSensor kullanarak uygulama geliştirme en iyi iş yapacak. Geo-location müdürleri ve LocationSensor Özellikleri, Olaylar ve Metotlar bir açıklama öğretici sonuna açıklanmıştır.
GPS Doğruluk Logger Basit GPS App
GPS Doğruluk Log cihazın Küresel Konumlandırma Uydu (GPS) alıcısı kullanımını gösteren bir uygulama. Uygulama da bir cihazın GPS doğruluğu cihazın bulunduğu yere bağlı olarak değişir nasıl gösterir. Ne LocationSensor kontrol yapar (bilgileri doğrulamak için en az iki uydu bulmak, uydu geçerlidir gelen bilgileri belirlemek, bir uydu bulmaya uydu düzeltme almak için bir telefon / tablet GPS alıcısı instructe ve sadece o rapor bilgi geri cihazınıza). Bazı GPS GPS alıcısı verilerin 12 veya 20 kanal alma yeteneğine sahip sağlayan, çok hassas bir düzeltme almak için 12 ila 20 uydulardan kullanabilirsiniz. Birçok basit cihazlar sadece bir kaç uyduları kullanır.
App programlamak için gerekli AI2 blok 7-inç tablet ve görüntülerin ekranın bir görüntü altında gösterilmiştir. Örnek uygulaması enlem / boylam konumsal verileri yakalar ve GPS 'uydu fix (Doğruluk) güvenilirliğinin bir sayısal tahmin sağlar. Küçük Doğruluk değerleri daha doğruluğunu göstermektedir. App GPS enlem ve boylam olarak giderir ve cihaz doğruluk GPS, uydu düzeltmeleri günceller olarak, cihaz bir binada dışarıdan taşınmış ya da konumunu belirlemek için kullandığı uydular üzerinde bir düzeltme kaybeder değişebilir nasıl gösterir ne bildirir. Zaman (sekiz dakika) kısa bir süre içinde yakalanan doğruluğu okumalarında değişiklik not edin. Bu okumalar yakalanan Bu cihaz, bir binanın içinde bir masa üzerinde sabit ve doğru konum bilgileri sağlamak için cihazın yeteneği önemli farklılıklar vardır. Uydular sürekli Dünya'nın çevresinde hareket ,. O aldığı uyduların sayısı azaldıkça cihazda GPS doğruluğunu kaybeder. Düzeltmelerin doğruluğu normalde GPS uyduları daha alabilirsiniz artar. AI2 herhangi bir düzeltmenin doğruluğu cihazda GPS alıcısı Doğruluk (daha sonra açıklanan LocationSensor birçok özelliklerinden birini) raporlama yeteneğine sahiptir sağladı bildirebilirsiniz. GPS zaman içinde herhangi bir anda mümkün olan en iyi doğruluk sağlamak için olduğu kadar çok bilgi ve mümkün olduğu kadar çok sayıda uydu kullanmak üzere tasarlanmıştır. Daha sonra doğruluk hususlar, nedenleri ne dalgalanma ve bir geliştirici 'şüpheli' konum verilerinin raporlanmasını kaçınarak app kullanıcıları üzerindeki etkisini en aza indirmek için ne yapabilirim neden bir tartışma.
Bu uygulama oluşturmak için başlamadan önce, gerçek GPS özelliklerine sahip bir cihaz üzerinde WIFI veya USB kullanarak bu uygulamayı test etmelidir unutmayın. Sürece emülatörü konum bilgilerini belirlemek için yeteneği yok farkında olarak bir emülatör bağlı iken uygulamanın blokları ve ekran tasarım oluşturabilirsiniz. Eğer emülatörü programı yaparsanız, blok kodu transkripsiyonu ise Saat blokları kapatmak isteyecektir. Ayrıca deneme cihaz dahili GPS alıcısı var ZORUNLU unutmayın. Daha sonra bir ağa veya WIFI ile bağlanarak konum bilgileri sağlamak için neler yapılabileceğini basit bir tartışma. Telefonlar (daha az hassas olmasına rağmen) / Bir GPS alıcısı olmadan tabletlerin konum verileri sağlayabilir ve burada belirtilen nasıl olsa, gelecekteki bir öğretici konu olacak.
AI2 uydulardan veri akışı Broadcase mevcut tüm bilgileri yorumlamak için araçlara sahip değil. Ne bir uydu "bilen" bir GPS ile uydudan iletilen ve alınan NEMA biçimde bildirilmiştir. NMEA 0183 deniz elektronik cihazlar ile iletişim kurmak için bir standart ve bir GPS verilerini almak için ortak bir yöntemdir.   NEMA veri akışı metin biçiminde bir uyduda çok fazla veri bir derleme. Diğer sistemler, programlama, sayı, konum tespit etmek için araçlara sahip olduğu veri akışı değerlerine dayanarak alınan uydu sinyalleri ve diğer özellikleri sinyal gücü. Bir AI2 uygulama halen bir GPS uydusunun tüm veriler mevcut mayın değil, ancak genellikle gerekli değildir. AI2 kontrol sınırlamalara rağmen AI2 cihazınızdaki GPS alıcısı kullanmak için gerekli temel fonksiyonları sağlar.
GPS Doğruluk Logger uygulaması sadece birkaç blok ve kontrol gerektirir. Ağır kaldırma LocationSensor denetimde kendisi yapılır. Uygulamaya kazanacaklardır GPS bilgilerini görüntülemek için Tasarım ekranında bir LocationSensor1, bir Clock1, Button1 ve yedi etiketleri (1 ile 7) kullanın. Ekran, tek bir yatay Düzen denetimi kullanır; düzeni Label8, Label3 içermelidir ve Label4 (çalışan bir uygulama görüntüde yazısı GPS Doğruluk Giriş yukarıda gösterilen) Button1 nesneleri Doğruluk güncellenmesi denetler. Düğmesi (daha sonra AIA kaynak kodunu bakınız) bazı isteğe bağlı kod eklemek sürece 'gizli' olması amaçlanmıştır. Düğmesi kullanım içindir. AIA kaynak kodunda, düğme gizli. Eğer basit fonksiyon yararlı karar verirseniz Tasarım ekranından gösteren düğmesini etkinleştirin.
Parçaların bir açıklama:
Tasarım ekran aşağıdaki kontrolleri önerilen yerleşimi gösterir. Yerleştirme kritik değildir. Label3 (Label3 metin. Çalışan bir app ekranda gösterilen, etiket, kırmızı ya da siyah yazı Doğruluk değerleri raporları ekranda "doğruluk" gösterir aşağıda gösterilen HorizontalArrangement1 ortasında kontrolü . Label8 "Şimdi Doğruluk:" metni olan yazı; Label4 metni "+/- metre." asla değişmeyeceğini Label8 ve Label4 de metin vardır.
Açılış ekranı başlatır GPS Doğruluk Kaydedici uygulaması konum sensöründen için bazı cihaz varsayılan değerleri ayarlar. Screen1.Initialize blok true LocationSensosr1.Enabled kodu. Set içerir kontrol GPS alıcısına konuşmak için izin verir. Nesneyi Clock1.TimerEnabled seti LocationSensor 'ın özelliklerini yoklamak için kullanılan bir zamanlayıcı sağlar. Bildirilen doğruluk son seçimden bu yana değişti eğer her saniye ve kontroller zamanlayıcısı anketler bulmak için. Daha sonraki kontroller Tasarım ekranda etiketleri içine bazı metin bilgileri koymak. Kolayca görülebilir böylece (mavi blok) için ayarlanan Label6.TextColor maviye etiketin rengini değiştirir. Bu etiket uygulama üreten basit bir bilgi ekranı tablo için başlık olduğunu. Son blok geçici Tasarım ekranında Label7 atandı metni gizler. (Hiçbir değeri Label7.Text ayarlanır).
Geçici cihazın doğruluğu tavsiye depolamak için global bir değişkeni başlatmak; name the global variable LP_accuracy (short for ListPicker Accuracy).
At this point, let us discuss the the latitude and longitude information is provided by the GPS and interpreted by the LocatonSensor and how it is formatted. The latitude and longitude are reported using a period decimal separator. Using a period decimal separator causes no issues where a period decimal separator is common. In other parts of the World a comma is used normally as a decimal separator. You are being introduced to the concept in programming called Localization. Simply stated, currency indicators, decimal separators and others things commonly in use in many countries and regions are not shared universally, so programmers need to develop appropriate coding, at times, accommodate these differences and to ensure their apps will behave properly or even work outside their own country. The AI2 Location.Sensor reports the location of xxxxxx as -96.89211 and 30.12561 for example. Those values have to be reported to the device in countries using a comma decimal separator as -96,89211 and 30,12561 respectively. Developers may need to replace the period output from the LocationSensor latitude and longitude with a comma in order to use the latitude and longitude in other routines in your app. For instance, you would have to make the conversions if you calculate the distance between two points using mathematical relationships. If you attempt to do that with an unaltered latitude or longitude, your Blocks will give you an error message. The block that comes to the developer's rescue is the replace all text
item
replacement
block. Here are several procedures that might assist a developer if he needs to convert. The to Switch_Period_To_Comma result block will convert the latitude or longitude to the correct format for comma centric apps. Ordinarily, if you do not do calculations using the raw latitude or longitude, you will not need it.
periodtocomma.png
The code shown in the Button4.Click event handler tests a device to inform you if the device is using a comma or period decimal separator.
Now the fun stuff. The LocationSensor1.LocationChanged block tells your app what it thinks your device's present latitude and longitude are in decimal degrees after the GPS confirms a fix. and the location has changed. The two blocks of code report the GPS location information in the two labels. Hover over the LocationSensor1.LocationChanged orange block latitude and longitude variables with your PC mouse to capture the get latitude and get longitude blocks that feed the information into the labels. The latitude and longitude are 'local' variables, therefore you can only use them within this block.
Button1.Clicked blok, değdiği anda bir mevcut uydu düzeltme doğruluğuna rapor bir bloktur. Doğruluk düzeltmenin zamanında konum bilgilerinin güvenilirliği bir belirlenmesidir. Clock1 nesne varsayılan ayarlamak için kullanılan ve düzenli olarak GPS bilgi talep olduğundan blok uygulaması için gerekli değildir. Button1 gösterilen ve bir kolaylık olarak sağlanır. Eğer AIA kaynak indirmek Eğer blok 'gizli' olduğunu fark edecektir. Button1 olay işleyicisi içinde bloklar Clock1.Timer bloğunda kod, siyah yazı tipi metre GPS doğruluk rengini değiştirir bloğun parçası çoğaltmak (zaman sensör raporları doğruluğu <= 10 metre) bir kırmızı yazı değeri 10 metreyi aştığı zaman. Istediğiniz gibi 10 metre değerini değiştirin. Akılda mesafe kullanarak ilgili öğretici sonra belirtilen uyarıları tutun az olduğu 10 ila 20 metre tetikler. Mantık bloğu karar değeri ile LocationSensor1.Accuracy blok değeri güvenilir bir uydu düzeltme veriler mevcut olduğunu bildirdiği için kesme olduğunu karşılaştırır.
(LocationSensor1.LocationChanged blok ile birlikte) Clock1.Timer blok app temel taşlarıdır. Eğer öğretici talimatları izlerseniz bu bloklar zamanlayıcı kutu doğrudan yerleştirilir. Ancak, geliştiriciler yerine bir prosedür bloğunda bu blokları koymak isteyebilirsiniz. Prosedür DoThisStuff Çağrı ve bunun yerine, ayrı blok Clock.Timer bloğunda bir çağrı DoThisStuff blok yerleştirin. Bu öğretici sensörü ile ilgili iken, ben temel programlama yapmanın birçok yolu vardır farkında olmak istiyorum. Bir prosedür kullanılarak, örneğin, biraz daha karmaşık hale getirir. Neden bir prosedür? Bu kod için Clock1.Timer bloğu kullanmaya ek olarak, düşünün, bir geliştirici olarak talep üzerine düzeltmeleri güncellemek için bir kod uydu düzeltme bloğu zorlamak için bir istek ile birlikte button.click olay işleyicisi içine blokları koymak olabilir. Gerekli bloklar bir prosedür iseniz, DoThisStuff diyebiliriz. Uygun bloklar ile ek bir düğme ekleyerek daha sık bir uydu düzeltme güvenilirlik isteği güncellemek için bir "el" kontrolünü sağlayacaktır. Tasarım için ekstra düğme olduğunu.
Clock1.Timer bloktaki tüm şeyler nedir?
Zaten bazı bloklar aşinadır. Bunlar Button1tıklatın kullanılan isteğe bağlı bloklar bir çoğaltma bulunmaktadır. Label3 blok kod amacı yukarıda açıklanmıştır. Kontrol blokları kod yeni. İlk blok testler mesafe değeri az 10 filtreler veri gösteren bir kırmızı yazı görüntülemek için bir siyah yazı "iyi" ve daha yüksek güçler değerleri görüntülemek için izin verir ise Doğruluk denetimi daha iyi 10 metre (olup olmadığını görmek için ise bildirilen yeri güvenilirliği ile ilgili bir sorun). Eğer ikinci bloğu bir önceki denetimi sırasında belirlenen doğruluk ile mevcut doğruluğunu karşılaştırır. İki doğruluğu okumaları aynı ise, blok uygulaması doğruluğu güncellendi anlar ve veri listesinde yeni bir satır raporları, farklı bir değeri vardır, ancak eğer hiçbir şey yapmaz. Liste son doğruluğu, enlem ve boylam sıralar. Bu "liste" uygulamasının ekranın alt kısmında görüntülenir. Bir satır yaklaşık her dakika görünür. \ N sembolü bireysel hat üzerine (zaman, doğruluk, enlem, boylam oluşan) her bir veri seti zorlamak için kullanılır, çünkü app etiket metin ekranın bu tip yapabilirsiniz. Tek bir etiket kodu rağmen, ekrandaki sonuç gözlem ve uydu verileri üç adet zamanını gösteren birden fazla satır, ekranın üstündeki en son bilgiler ile sipariş olduğunu.
Ne zaman konum sensörü, uydu düzeltme için kontrol etmek için 'biliyor' mu? Uydunun tetiklemek için iki yol, bir sensörün Timeınterval özelliğini kullanarak vardır. İkinci DistanceInterval nesnesini kullanmak için   LocationSensor1.TimeInterval özelliği kodlanmış değeri uydu düzeltme girişimlerinin sıklığını belirler. Kontrol Bu özellik atanan değeri tarafından belirlenen bir frekansta güncelleyecektir. Ancak, bir blok Timeınterval yukarıda gösterilen kod blokları dahil değildir. Neden? LocationSensor1.TimeInterval varsayılan değeri zaten dakikada bir kez ayarlanır. Bu yenileme aralığı bu app kabul edilebilir. Engellemek LocationSensor1.TimeInterval kümesi kullanılarak önlenebilir değil, aynı zamanda Screen1.Initialize blokta yer olabilir. Eğer set nerede değer, size geliştirici kadar olduğunu. LocationSensor yaklaşık dakikada bir tetikler. Başka bir şekilde belirtilirken, LocationSensor1.TimeInterval GPS anda LocationSensor1.DistanceInterval nesne ayarlanır olandan daha büyük bir mesafe travers tanınması yürütülmesini barikat, bir düzeltme için kontrol edecek hangi zaman aralığını içerir.
DistanceInterval ayarı bu app bir tetikleyici olarak kullanılmaz 0. Mesafe değişim varsayılan ayarında bu uygulama terk edilir. DistanceInterval özelliğinin olası kullanımı daha sonra ele Yer Sensörü Test uygulaması örnekte gösterilmiştir.
Dikkat, birim zaman aralığı (yukarıda tarif edilmiştir) ms içindedir. Bir geliştirici olarak, istediğiniz herhangi bir şey için 'yenileme' değerini ayarlayabilirsiniz. Bazı yerleştirmeler çok tercih edilmez. Ne kadar sıklıkla ve hangi araçlar kullanmak sizin, geliştirici kadar, böylece kontrolü çalışmalarının nasıl aşağıda ayrıntılı bilgi aşina olduğundan emin olun.
Son olarak, Doğruluk özelliği yoklamak için bir yöntem uygulaması gereklidir. Clock1 GPS son kontrol yapıldıktan sonra, farklı bir doğruluk belirlenmesi mevcut olduğunu tespit etmiştir olmadığını belirlemek için, mevcut LocationSensor1.Accuracy yoklamak için kullanılır. App ikinci kez Clock1.Timer blok yangınlar tasarlanmış ve programcı tarafından herhangi bir müdahale olmadan olarak yararlanır. Saniyede bir Doğruluk makul Yoklama uygulaması varsayılan saat zaman aralığı ayarı kullanır. Doğruluk bir rapor için zamanlama değeri ms gerektiren tam ne sayı değeri Clock1.TimerInterval değiştirerek app içinde Tasarım ekranda veya diğer değerlere ayarlanabilir. LocationSensor1.TimeInterval ile Doğruluk değerindeki değişiklikler denetler, bu yoklama saati karıştırmayın. LocationSensor1.TimeInterval GPS uydu düzeltme (bir uydu bulmaya uydu geçerlidir gelen bilgileri belirlemek, ve ancak o zaman geri deice için bilgileri rapor) çalışır ne sıklıkta belirler. Daha sonra, öğreneceksiniz, GPS yararlı bilgiler GPS alıcısını sağlamak için üç uydu minimumda o bilgilere sahip olmalıdır; yeterli veri yok GPS kullanılabilir yeterli veri ve GPS ", düşünme" gibi görünen hiçbir düzeltme muhtemelen telefonunuza veya tablet üstünde yanıp sönen küçük bir simge göreceksiniz. Bunu simgesini gördüğünüzde, GPS uydu düzeltme çalışıyor.
House keeping: için \ n nedir? (Ters eğik çizgi ve karakter n oluşan) Bu sembol bir etiket bir çizgi değişikliği zorlar. Bir metin bloğundaki sembolü yerleştirme raporlama ekranı yapmak için yardımcı bir 'tatlı' Label7 güncellenen ve cihaz ekranında yayınlanmıştır zaman.
Test: Gerçek GPS özelliklerine sahip bir cihaz üzerinde WIFI kullanarak bu uygulamayı test etmelidir, dikkat edin. Sürece emülatörü konum bilgilerini belirlemek için yeteneği yok farkında olarak bir emülatör bağlı app blokları programlayabilir.
Bu kötüleşiyor. App uyarıları dikkate alın. Tüm telefonlar / tabletler bir GPS alıcısı ve tüm olanların sahip Doğruluk denetimi kullanmak için yeteneği var. Daha var. Bazı cihazlarda, yetenek GPS veya Ağ / WIFI kapalı olabilir olsun, Yer Hizmetlerini kullanmak için. GPS Doğruluk Logger bu koşulları kontrol etmez. Ya konum servisi ile test edilir cihazda kapalı ise, sorunları olacak. Cihazınızın Ayarlar gidin. Yer hizmetleri gibi bir şey olmalı. GPS uydularını kullan ve kablosuz ağlar kontrol edilir kullanın için izin kutuları emin olun. Sadece GPS istiyorsanız size nerede olduğunu bilmek Dünya istediğiniz sürece, Kablosuz ağları kullan onay kutusunu yok. Burada yaptığınız ayarlar tüm uygulamalar için izinleri verin.
AI2 Yer Sensör Test App
Bir AI2 Yer sensörü (Yer Sensör Testi) yeteneklerinden en gösteren bir uygulama için buraya blokları bulacaksınız değil. Ben kopyalamak istediğiniz daha fazla blok, bir sürü vardır. Eğer kodu keşfetmek böylece bir aia dosyası ektedir. Iki resim altındaki bir Tablet üzerinde çalışan Konum Sensörü Test uygulama göstereceğim. Artık, sensörün temel özelliklerini kullanarak bir uzmanı vardır. Ben bu Sensörü Test App blok mantığı için bir açıklama olmaması bir engel değil umuyoruz. Ben, sen (eğlenceli şeyler aşağıdaki açıklamalar da dahil olmak üzere) tüm öğretici ile okuyup kendi konum sensörü deneyleri çalıştı varsayalım ve programlama mantığını takip edebilirsiniz. Eğer şüpheniz varsa, aşağıda bölüm çeşitli kontrol özellikleri, yöntemleri ve olayları davranışını açıklar okuyun.
Soldaki görüntü sensörü test aracı eylem ancak önceki Yetenekler düğmeye dokunarak gösterir. Düğmesine dokunun ve ekran sağdaki resimdeki gibi görünmelidir. App tabletin GPS tüm gerekli yeteneklere sahiptir onaylar.
GPS Doğruluk Logger tüm aşağıdaki yapar:
  • Enlem / Boylam, Yükseklik ve Doğruluk yetenekleri cihazda var olup olmadığını denetler denenmektedir. Yetenekleri düğmesini kullanın. Tüm aygıtlar tüm bu yeteneklere sahip.
  • +/- Metre Her GPS uydu düzeltmenin Doğruluğu Raporlar. Sayısı bildirilen bir yarıçapı olan bir daireyi tarif etmektedir. GPS bu dairenin içinde bir yerde olduğunu 'biliyor'. (Aşağıdaki açıklamaya bakınız).
  • LocationSensor.TimerIinterval Duyurdu. Aracı geçerli ayarı bildirir ve bunu değiştirmek için izin verir.
  • Mevcut servis sağlayıcıları Duyurdu. WIFI tablet üzerinde, muhtemelen sadece 'gps' olsun; telefon gerçek bir GPS varsa bir telefon, daha fazla seçenek olacak.
  • Seçili servis sağlayıcı gösterir. Sen Geçiş Sağlayıcı düğmesine dokunarak gps ve ağ arasında değiştirebilirsiniz. Evet, yalnızca bu app gps ve ağ arasında geçiş yapar.
  • Rakımı Raporlar, ancak eğer cihaz, GPS yeteneğine sahiptir. Eğer bir binanın üçüncü katında sokak seviyesinden yürürken değiştirmek için Rakımı beklemeyin. Ölçüm bu doğru değildir.
  • Bir yeri adresi kullanılabilir yalnızca, güncel adresini bildirir.
  • Cihaz seçilen Mesafe daha hareket etmesi halinde bir bilmesini sağlar. Aşağıdaki bölümlerde uyarılar okuyun. İstediğiniz metre içinde herhangi bir değer Uzaklık değiştirebilirsiniz.
  • Bir Mesafe ve Zaman aralıkları hem ayarlamanızı sağlar. Mesafe muhtemelen varsayılan olarak çoğu cihazlar için 0 olarak ayarlanır; 60000 ms (bir dakika) zamanı. Varsayılan bazı cihazlarda farklı olabilir.
  • Sağlayıcıları geçiş yapabilirsiniz. Geçiş aracı, bu app iki sabit kodlanmış sağlayıcılar arasında geçiş.
  • Bir süre boyunca Doğruluk ve Enlem ve Boylam veri günlüğü sağlayabilir. Sen Veri Günlüğü kutusunu işaretleyin. Seçildiğinde uygulaması bir veri akışı raporlama süresi, Doğruluk, Enlem ve Boylamı sağlayacaktır. Sen ekran aşağı kaydırmanız gerekebilir.
  • GPS uydu düzeltme vardır ya da değil ve konum bilgilerini şebeke tabanlı olup olmadığını olmadığını bildirir. Aşağıda düzeltmek hakkında okumak.
Ben app kapandıktan sonra Yer Sensörü Testi cihazı GPS sağlanan zaman ve mesafe veri ayarları kalıcı olan belirli değilim. Size app zaman ve mesafe ayarlarını değiştirmek durumunda bir uygulama kapandıktan sonra, varsayılan ayarlarına otomatik cihaz, GPS dönüş yapar? Bir "app kapatın ve 0'a Yer Distance sıfırlamak ve konumu Sayacı sıfırlamak" butonuna app parçasıdır. Bu GPS gerekirse sıfırlanır sağlar. Varsayılan durumu ve yakın GPS ayarlarını döndürmek için app düğmesini kullanın app.
Yapılacaklar: d) uygulaması gerçekten sizin için çalıştığını kontrol, güvenilirlik daire doğruluğunu göstermek) a), app ekran güzel görünmesi b) Uzaklık c, bir titreşimi veya ses alarm eklemek. (Güvenirlik ekran daire çizmek için Canvas nesnesi kullanın).
Nasıl bir Telefon / Tablet onun yeri "bilir"
O anda nerede nasıl bir telefon ya da tablet mümkün "bilmek" nedir? GPS ve Kablosuz Ağlar iş yeri sensör kontrolünü anlamak için gerekli Anlama nasıl. Hem GPS ve Kablosuz ağlar farklı şekillerde konumsal bilgi sağlar. LocationSensor kontrol sistemi ancak bir app geliştirici bunu nasıl onun / onu blokları ile sensöre anlatmak zorunda kullanarak bilgi alabilirsiniz.
Bir şey var GPS hakkında bilmek istediğiniz ve nasıl GPS alıcıları burada özetlenmiştir çalışır:   http://en.wikipedia.org/wiki/Global_Positioning_System . Vikipedi her zaman en doğru kaynağı değildir, ama bu durumda Wikipedia konum belirleme kavramlar oldukça iyi bir tanıtım sağlar. Makale "ev iş" atama parçasıdır.
GPS uyduları Almanak ve Ephemeris denilen iki tip veri yayın. Almanak verileri uydu yörünge parametreleri içerir. Kesin veri ve birkaç ay için geçerlidir. Ephemeris verileri hassas konumlandırma için gerekli olan her uydu için yörünge ve saat düzeltme verileri içerir. GPS ilk açıldığında, alıcı Almanak açıklanan ve şimdiki zaman için düzeltilmiş olarak uydular için uydu olması gerekiyordu nerede dayanan ve "bakar". Almanak verileri geçerli olup olmadığını GPS belirler; Almanak geçerli değilse, GPS alıcısı, bir süre için kapatılmış muhtemelen eğer, GPS gökyüzünü arar ya da bir uydudan yeni bir Almanak indirmek ve baştan başlamak böylece dahili yeniden başlatıldı. Bu düzeltme, bir cihaz açıldığında uzun bir zaman alabilir sonraki düzeltmeler daha hızlı yapılır ve neden (yanıp sönen GPS cihazınızda göstergesi izle) neden olduğunu.
Bir GPS alıcısı uydulardan gökgünlüğü / almanak verileri almak için gökyüzünü net bir görünüm ihtiyacı var. Bu konumunu belirlemek için bu verileri kullanır. Bu konum bilgileri temin etmek üzere üç uydu minimumda ölçümleri gerektirir. GPS alıcıları genellikle doğru bilgi sağlamak için 12 ila 20 kadar uydudan kullanarak yeteneği var. Uygulamada, çoğu GPS konum düzeltme sağlamak için az sonra 9 veya 10 uyduları kullanın. Uyduların sınırlı sayıda GPS görünür olabilir, bazı uydular hizmet dışında, nesneler, GPS alabilir ve diğer faktörler nasıl belirlemek GPS ve uydu ve gölgenin uydunun yayın sinyal gücünü azaltmak ve kanal sayısı arasındadır çok uydu, bir düzeltme GPS tarafından kullanılmaktadır.
Kablosuz Ağlar bir cihazın konumunu belirlemek için nirengi kullanın. Konum bilgileri Bir ​​GPS elde edilen verilere göre daha hızlı bir şekilde elde edilir. Bir GPS düzeltme tek kanallı GPS alıcıları ile bir dakika kadar birkaç saniye sürebilir. Bir ağ düzeltme çok hızlı. Kablosuz Ağlar tarafından sağlanan veriler daha güvenilirdir Ancak çoğu GPS 's düzeltmek daha. Normalde ağ coğrafi konumu GPS tarafından sağlanan bilgilerin yanı kesin değildir. Cep telefonları çevresinde yakın üç ya da dört hücre kuleleri hücre kulesi kimlikleri olsun. Teknoloji 10-15 saniye ile doğruluk 10-50 metre mesafede sizin "tam" yerini almak için varış zaman farkı kullanır. Bu yöntem, GSM telefonları için MS-Yrd denir. Bir sonbaharda geri yöntem Hücre Kimliği denir. Hücre Kimliği doğruluğu 8 km (1-5 km) yaklaşık 1.7 pasif bir tahmin olduğunu ve tamir eden bir pozisyon almak için yeterli kesinlik bildirmez MS-Hazırlık varsa muhtemelen kullanılan en az 100 metre (MS için asgari performans eşiği Yrd).
Bir GPS hareket veya sabit ederken cihazın konumu doğru bir anlık almak için kullanılır. Kablosuz ağlar, bir GPS alıcısının yokluğunda sabit pozisyonları için kullanılabilir. Bu konum sistem detayları ile ilgili öğretici sağlanan bilgiler akı sürekli olduğunu. Detayları öğrenmek ve teknoloji gelişmeler hakkında bilgilendirilmek istiyorsanız, arama motoru kullanın.
Bu onların uygulaması tarafından kullanılan veya yeri sağlayıcıları arasında seçme bir araç sağlamak için hangi konum yöntemi seçmek için uygulama programcısı kadar olduğunu. Aşağıdaki sağlayıcıları hakkında okuyun. Sağlayıcının olağan seçenekler şunlardır: gps veya ağ.
Geliştiriciler AI2 LocationSensor nesnesi kullanarak, Program bilmeniz gerekenler
Geliştiriciler bile AI2 yılında Konum sensörü kullanmaya başlamadan önce dikkate şeyler var. Başarılı bir konum belirleme tabanlı uygulama yapmak, geliştirici işler ve nasıl bilmek zorunda, çünkü engelleri aşmak için nasıl yapılabilir GPS uydu sistem çalışıyor ve ne cihaz dahil GPS alıcıları kalite, mevcut sınırlamalar.
1) farkında olun, Location.Sensor raporlar enlem ve boylam bir dönem ondalık ayırıcı kullanarak. Eğer ortak ondalık ayırıcı virgül olduğu alanlarda gelişmekte olan ve size app içindeki hesaplamalar yapmak için LocationSensor.Latitude veya Boylam değerleri Usef gerekiyorsa, bir virgül sağlanan dönemi dönüştürmek için uygun bir kod sağlamak zorunda olacak. Bu konu daha önce kaplıydı.
2) Farklı cihazlarda GPS alıcıları duyarlılığı değişir. Bazı cihazlar telefon / tablet ağaçların altında, bir binada veya (gökdelenlerin ya da sadece yüksek binalar arasında, dağlarda yani) ortamlar gibi kanyonda yolculuk olup olmadığını daha duyarlıdır. Binalar konumsal uydulara GPS görüş hattı örtüyor. GPS zayıf sinyaller azaltılmış doğruluğu veya düzeltmenin kaybına neden.
3) Bir GPS alıcısı doğruluğu her an bir düzeltme (almak ve doğrulamak) alabilirsiniz uyduların sayısına bağlıdır. Sonuç olarak, cihaz tarafından bildirilen konum hassasiyeti artı ya da zaman çok kısa bir süre içinde 50 metre ve eksi kolaylıkla değişebilir. GPS doğruluğu cihazınızda bulunan GPS kalitesine bağlıdır. Gerçek GPS cihazları, değil tablet / telefonlar, en az 2 metre mesafede doğru olabilir. Telefonunuz muhtemelen bu yeteneğin yakın bir yerde var, ama olabilir. En GPS 12 paralel kanal var. Kanallar uydu sinyallerini alabilmesi için yardımcı olur. Bazı GPS alıcısını anlamı bir düzeltme edinme yavaş ve birden fazla kanal ile bir alıcı doğruluğunu olmayabilir, sadece tek bir kanal var. Yeni telefonlar 20 kanalları ve A-GPS ve GLONASS birlikte çalışabilir (GLONASS GPS Rus versiyonu) alıcıları var.
Bir Galaxy Tab 2 7 "tablet GPS alıcısı ile 4) Deneyim. GPS Tablet istirahat halindeyken bile bir mesafe değişikliği sinyali olabilir. 100 metreye ayarlandığında LocationSensor.DistanceInterval yeri tepkisinin sürpriz bir değişiklik tetikleyebilir göstermektedir değil sık sık, o. olur bu tetikleyici aracı için 100 m ayarı mantıklı ama bu değere DistanceInterval ayarı sensör tetikler cihaz 100 metre taşındı garanti etmez. Bu GPS yeteneği doğru bir çözmek için, çünkü meydana gelen bir konudur Yer akı sabit bir durumda. erken bir cihaz tetikleme tepkisi GPS doğruluğu dahilinde size programı normlar yalnızca tetikleyici mantık blokları sağlayarak önlenebilir.
GPS doğruluğu örneğin 32 metre olacak LocationSensor.Accuracy tarafından bildirilen zaman 5), bir LocationSensor DistanceInterval şey için en az 32 metre uzaklıkta ise mesafe sanki, GPS) yeni bir düzeltme (değişim girişimi anlamına gelir 0 metre ayarlanır. Düşük sonunda telefonlarında GPS üniteleri, özellikle çok hassas değildir ve bazı telefonlar hiç GPS var.
6) Cihazınızın doğruluğu (pozisyonel güvenilirlik) değişiklikleri, sıfıra DistanceInterval ayarlamak nasıl anlamak ve yukarıda açıklanan kapsamlı app sizin GPS doğruluğu değişiklikleri izlemek için. Zaman GPS doğruluğu monitörler değişiklikler yukarıda açıklanan GPS Doğruluk Logger kodlama projesi. Demo AI2 Yer Sensörü Test cihazınızdaki verileri toplar. Tüm telefonlar / tabletler bu veriler sağlar. Birçok telefonlar Örneğin, rakım verilere sahip olmayabilir.
7) Burada konum sensörünün MIT App Inventor ekibi açıklamayı okuyun   http://appinventor.mit.edu/explore/content/sensors.html daha ayrıntılı olarak açıklayan bir araç tanıtım açıklamalı bir versiyonu, bir sonraki bölümde int izler.
Derlemede, en telefonlarında GPS alıcısı, kesin olarak doğru değildir. Sağladığı pozisyon bilgisi ortalama sadece +/- 50 metre, vesilesiyle +/- 5 metreye kadar belki de iyi olabilir. Telefonlarında GPS alıcıları çok hassas değildir. Dahili GPS binalarda sinyalleri kaybetmek ve bir kentsel ortamda zordur. Tüm telefonlar veya tabletler bir GPS var. Bir GPS alıcısı yok o telefonlar GPS sahip olan telefonlara kıyasla çok daha düşük konumsal doğruluk var. Bir GPS konum uygulaması için Alternatifler GPS dayalı bilgilerin yanı doğru değildir. Bir GPS alıcısı olmadan Cihazları muhtemelen telefonun yerini yaklaştığı cep telefonu kuleleri ve / veya bir wifi konumu arasındaki nirengi kullanabilirsiniz. GPS olmayan cihazlar yine bir şekilde, sonra, yerini tespit etmek için kullanılabilir.
There is an option in the location sensor to determine proximity to a destination. My experiments indicate this feature is not very accurate when set to small distance changes. About +/- 50 meters reliability might be possible on a regular basis using the LocationSensor.Distance control. The issue is, the GPS in phones is not very accurate. Usually, the GPS 'fires' based on time but you can also allow the location sensor to 'fire' based on a distance moved. I can see an application mixing the two methods. The location will trigger a GPS fix based on time but it will also attempt to trigger based on movement since the last fix. A ten meter sampling of a location does not seem practical. because a phone GPS might only be able to resolve +/- 50 meters. See for yourself. Use the LocationSensor1.Accuracy block and sample the accuracy reading every minute and see what you get? The GPS Accuracy Logger does this so the code is available in this tutorial.
What are the Capabilities of the AI2 LocationSensor?
The following describes what the location sensors in AI2 can (and cannot) do:
Some functions the sensors can control are not available on all devices. If a function the LocationSensor has available does not seem to work on an app you build, the Android version on your device may not have the capability or the device might not have the capability you poll in its GPS. The app Location Sensor Test can help you find out what capabilities are exist on your phone/tablet. A link to the Location Sensor Test     aia source is at the end of the tutorial.
The following is an annotated description of the AI2 LocationSensor as described on the MIT web page. Annotations are in italics . The public Android methods that are the basis for the AI2 control are described in Java at this link:   http://developer.android.com/reference/android/location/Location.html . AI2 provides most of these services. It does not have a distanceBetween method, which would have been nice. You as a developer can provide those functions by doing the calculations yourself. Google "haversine" for a method of calculating short point-to-point distances between locations. I re-wrote the algorithm in block code in AI2 and will post in a future tutorial. If you do use Haversine's, be aware the distance calculation method is not valid for determining long distances; like DC to London but are valid for smaller distances, especially on the order of several kilometers or miles. Vincenty's method is among the best algorithms to calculate a Great Circle Path and is most accurate for any distance calculation. Using Vincenty's algorithm will require LOTS of blocks.
Location Sensor
This component provides the Android device's location, using GPS if available and an alternative method otherwise, such as cellular towers or known wireless networks.
LocationSensor is a non-visible component providing location information, including longitude, latitude, altitude (if supported by the device), and address. This component can also provide geocoding, converting a given address (not necessarily the current one) to a latitude (with the LatitudeFromAddress method) and a longitude (with the LongitudeFromAddress method).
In order to function, the component must have its Enabled property set to true, and the device must have location sensing enabled through either GPS satellites (if the device is outdoors) or an alternative method.
Many devices can utilize their GPS indoors.
Özellikleri
Doğruluk
Indicates Android device accuracy level, in meters.

Hiç yorum yok:

Yorum Gönder