ARKit SDK ile Lokasyon Bazlı POI Gösterimi

Güncelleme tarihi: 7 Haz 2021



Apple ARKit'i yayınlamadan önce native tarafta Augmented Reality entegrasyonu için çeşitli sdk'lar kullanılmaktaydı. Bu mobi'de onlardan biri olan açık kaynak ARKit Sdk ile lokasyon bazlı konum bilgileri göstereceğiz.


ARKit Sdk

Bu sdk MapKit üzerine inşa edilmiştir. Uygulamaya artırılmış gerçeklik özelliği kazandırabilen küçük bir sınıftır. Aktif kamera görüntüsü üzerine görsel eklenmesine olanak sağlar. Kamera görüntüsü üzerinde konum bazlı gösterim senaryolarında kullanılabilir. Sdk kaynak koduna buradan erişebilirsiniz.


Hedef

Uygulama içerisinde kamerayı açıp, kamerayı 360 derece etrafımıza tuttuğumuzda yakınımızda bulunan mağazaları ekranda göstermek. Gösterilen bir mağaza view'ına tıkladığımızda mağazanın detay sayfasını açmak.


Geliştirme

Bu demo'yu objective-c ile geliştireceğiz. Öncelikle ARKit klasörünü projenize eklemelisiniz.


Ardından konum servisini ve kamerayı kullanabilmek için aşağıdaki şekilde info.plist dosyasına

Privacy - Location Always and When In Use Usage Description

Privacy - Location Always Usage Description

Privacy - Location When In Use Usage Description

Privacy - Camera Usage Description

property'lerini eklememiz gerekiyor.


Kamerayı açacağınız controller sınıfına ARKit.h sınıfını import ediyoruz. Ayrıca bu sınıfa ARViewDelegate'i implement ediyoruz.


#import"ARKit.h"

@interfaceViewController : UIViewController<ARViewDelegate> {

  ARKitEngine *engine;
}

ARViewDelegate'in 3 adet delegate metodu bulunuyor.

viewForCoordinate metodu engine ayağa kalkarken her ARGeoCoordinate objesi için bir kere çalışıyor. Ekranda ilgili POI için gösterilecek view'ı bu metodda oluşturup döndürmelisiniz.

Aşağıda gördüğünüz gibi ARObjectView oluşturuluyor ve ilgili konum'da gösterilecek mağaza metni ve detay view'larını addSubview ile ekliyoruz.