Kıble modülü · kamera
Kamera ile kıble
Kadranda bir ok görmek soyut kalıyorsa, yönü doğrudan odanızın içinde görün. Kamerayı açtığınızda görüntünün üzerine Kâbe işaretçisi yerleştirilir; telefonu yatay çevirerek işaretçiyi ekranın ortasındaki çizgiye getirdiğinizde kıbleye dönmüş olursunuz.
Yönleri kamera üzerinde görün
1 hedef, canlı görüntünün üzerinde kendi renkli işaretiyle gösterilecek.
Nasıl çalışıyor
Fikir, göründüğünden basit. Elimizde iki sayı var: hedefin gerçek kuzeye göre azimutu ve cihazın o an baktığı yön. İkisinin farkı, hedefin bakış doğrultunuza göre kaç derece yanda olduğunu söyler. Kameranın yatay görüş açısını bildiğimize göre, bu dereceyi ekran genişliğine oranlamak yeterli: fark sıfırsa işaretçi tam ortada, görüş açısının yarısı kadarsa ekranın kenarında durur.
Görüş açısını tipik bir telefon arka kamerası için altmış iki derece kabul ediyoruz. Cihazlar arasında birkaç derecelik fark vardır ve bu, işaretçinin ekrandaki konumunda küçük bir kayma yaratabilir. Ancak hizalanma kararı ekran konumundan değil, doğrudan açı farkından verilir; yani işaretçi biraz solda görünse bile "kıbleye dönüksünüz" yazısı doğru anda çıkar.
Neden bu yaklaşımı seçtik
Bu işi WebXR ile yapmak da mümkündü. Ama WebXR oturumu açmak cihaz desteği gerektiriyor, pil tüketimi çok yüksek ve ilk açılış saniyeler sürüyor. Kıble bulmak saniyeler süren bir iştir; kullanıcı bir uzamsal izleme oturumu başlatmak istemiyor, sadece hangi tarafa döneceğini bilmek istiyor. Basit bir CSS dönüşümü aynı işi neredeyse hiç maliyetle ve çok daha geniş cihaz desteğiyle yapıyor.
Bu modun sınırları
Kamera modu hakkında en dürüst şeyi baştan söylemek gerekiyor: doğruluğu artırmaz. Yön bilgisi pusula sayfasındakiyle aynı sensörden, aynı filtreden geçerek gelir. Manyetometre kalibrasyonunu kaybetmişse veya odada manyetik parazit varsa, işaretçi de aynı ölçüde yanlış yere oturur.
Bunu vurgulamamızın sebebi, kamera görüntüsünün psikolojik etkisi. İşaretçiyi duvarınızın üzerinde görmek, sayının ölçülmüş ve doğrulanmış olduğu hissini yaratır. Oysa ölçülen hiçbir şey yoktur; yalnızca hesaplanan bir açı, kamera görüntüsünün üzerine çizilmiştir. Bu his, yanlış bir kalibrasyonda kullanıcıyı pusuladan daha çok yanıltabilir.
Ayrıca cihazın dikey eğimini bu modda hesaba katmıyoruz. Telefonu yere doğru veya gökyüzüne doğru eğdiğinizde işaretçinin yatay konumu bozulur. Doğru kullanım, telefonu yaklaşık dikey tutmaktır — vizör gibi, ufka bakar şekilde.
Bir kez daha: kesinlik gerektiren bir kurulum yapıyorsanız (cami saf hattı, kalıcı bir seccade yönü) harita üzerinden duvar hizalama veya güneş yöntemi doğru araçlardır. Kamera modu hızlı doğrulama ve günlük kullanım için vardır.
Doğru kullanım
Kamera modundan en iyi sonucu almak
Telefonu dikey tutun
Bu modda cihazın dikey eğimini hesaba katmıyoruz; yalnızca yatay yönü kullanıyoruz. Telefonu yere veya gökyüzüne doğru eğdiğinizde işaretçinin yatay konumu bozulur. Doğru kullanım, telefonu bir vizör gibi, yaklaşık dikey ve ufka bakar şekilde tutmaktır.
Önce pusulayı düzeltin
Kamera modu, pusula sayfasındaki doğruluk sorunlarını miras alır. Bu ekranda doğruluk rozeti göstermiyoruz çünkü kamera görüntüsünün üzerine yerleştirilen bir uyarı okunmuyor. Bunun yerine önerimiz şu: kalibrasyon ve parazit durumunu pusula sayfasında kontrol edin, sonra buraya gelin. Sıralamayı tersine çevirmek, kamera görüntüsünün verdiği kesinlik hissiyle yanlış bir sonucu kabul etmenize yol açabilir.
Kenardaki oku takip edin
Kıble kameranın görüş alanının dışındaysa işaretçi ekranda gösterilemez; onun yerine kenarda bir yön oku çıkar. Oku takip ederek dönün. İşaretçi görüş alanına girdiğinde ortaya doğru kayar ve hizalandığınızda çerçevesi yeşile döner.
Aydınlatma ve kamera izni
Kamera modu güvenli bağlantı (HTTPS) gerektirir; tarayıcılar güvensiz bağlantıda kamera erişimi vermez. Karanlık bir odada kamera görüntüsü gürültülü olur ama işaretçinin konumu etkilenmez — çünkü konum görüntüden değil sensörden hesaplanır. İzni reddettiyseniz sayfayı yenileyip tekrar deneyebilir ya da doğrudan pusula sayfasına geçebilirsiniz.
Kamera kapanıyor mu?
Sayfadan ayrıldığınız anda kamera akışı kapatılır. Bunu tarayıcınızın sekme veya adres çubuğundaki kamera göstergesinin sönmesiyle doğrulayabilirsiniz. Görüntü hiçbir yere gönderilmez, kaydedilmez ve saklanmaz; yalnızca ekranda gösterilir.
Sık sorulan sorular
Kamera görüntüsü kaydediliyor mu?
Hayır. Görüntü hiçbir yere gönderilmez, kaydedilmez ve saklanmaz. Yalnızca ekranda gösterilir; sayfadan ayrıldığınız anda kamera akışı kapatılır. Bu, tarayıcının kamera göstergesinin sönmesiyle doğrulayabileceğiniz bir davranıştır.
İşaretçi neden ekranın kenarında duruyor?
Çünkü kıble şu anda kameranın görüş alanının dışında. Telefonun arka kamerası yatayda yaklaşık altmış derecelik bir alan görür; kıble bundan daha yana düşüyorsa işaretçiyi ekranda gösteremeyiz, bunun yerine kenarda hangi yöne dönmeniz gerektiğini belirten bir ok çıkar. Oku takip ederek dönün; işaretçi görüş alanına girdiğinde ortaya doğru kayar.
AR modu pusuladan daha mı doğru?
Hayır ve bunu açıkça söylemek istiyoruz. Yön bilgisi tam olarak aynı manyetometreden geliyor; kamera sadece bir gösterim katmanı. Kamera görüntüsü doğruluk hissini güçlendirir çünkü işaretçiyi gerçek nesnelerin üzerinde görürsünüz, ama doğruluğun kendisini değiştirmez. Pusula kalibre değilse AR modu da aynı ölçüde yanlış gösterir. Gerçek doğruluk artışı istiyorsanız güneş yöntemine geçin.
Neden WebXR kullanmadınız?
Çünkü gerek yok. Bu iş için ihtiyaç duyulan tek şey, hedefin azimutu ile cihazın baktığı yön arasındaki farkı ekran koordinatına çevirmek. Bunu basit bir yatay kaydırmayla yapıyoruz. WebXR ise cihaz desteği çok daha sınırlı, pil tüketimi kat kat fazla ve ilk açılış süresi belirgin biçimde uzun. Aynı sonucu daha çok cihazda ve daha hafif şekilde vermeyi tercih ettik.