SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Nokia Series 40 için Harita ve Lokasyon
    Uygulamaları Geliştirmek

    Görkem Ercan (@GorkemErcan)
    Nokia




1
Ajanda
1. Giriş
2. Kurulum
3. Temel Harita işlemleri
4. Harita işaretleri
5. Konum ve Arama Servisleri
6. Konum Belirleme




2
Nokia Kütüphanelerine Giriş


 3
Nokia Harita Uygulama Kütüphaneleri
         http://www.developer.nokia.com/Maps/

•   Maps API for JavaScript
•   Nokia Places API (beta)
•   Map Image API for HTTP
•   Maps API for Qt
•   Maps API for Java ME




4
Nokia Java ME Harita Kütüphanesi
• MIDP 2.0 ve üstü telefonları destekler
• Series 40 telefonlar için optimize
• Façade Pattern ile alt seviye tüm detayları saklar
• 150 kB büyüklüğünde
• Farklı harita tipleri (Uydu, Alan, Transit vs)
• Polyline, polygon, işaretler gibi harita temel harita
   objelerine destek
• Arama, yol tarifi gibi servislere destek
• Genişletilebilir


http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/
   5
Nokia Java ME Harita Kütüphanesi ve
Statik Harita Servisleri




        Statik Servis    Nokia Java ME Harita
                             Kütüphanesi




6
Kurulum




7
Alışveriş Listesi
1. Java Runtime Environment 6
      http://www.java.com/en/download/index.jsp

2. Eclipse ve Eclipse MTJ
      http://www.eclipse.org/mtj
      http://www.developer.nokia.com/Resources/Library/Java/#!getting-started/

3. Nokia SDK for Java
      http://www.developer.nokia.com/Develop/Java/Tools/

4. Nokia Java ME Harita kütüphanesi
     http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/Getting_started/




 8
Java Harita Kütüphanesi
Jar dosyasını indirin
     http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/Getting_started/




                                                                    Nokia SDK for Java
                                                                     2.0 içine entegre



 9
Eclipse Ayarları
Projenize harita kütüphanesini ekleyin.




10
Nokia Developer kaydı
Ücretsiz olarak developer.nokia.com adresinde kayıt olun




 11
Token ve AppID
Her bir uygulamanız için ücretsiz olarak bir App Id and Token
alın
        https://api.developer.nokia.com/ovi-api/ui/registration




 12
Temel Harita İşlemleri




13
İlk Haritam
               5 satırda tam bir harita
        1. AppId ve Token’ ı ApplicationContext’e bildir
        2. Bir MapCanvas yarat
        3. Display.setCurrent() ile görüntüle




14
Farklı Harita Çeşitleri

Temel Harita tipleri




 Kod




15
Daha Çok Çeşitlerde Harita
1)    Bir MapSchemeListener yarat ve getAvailableMaps()’i çağır




2)    Başarılı veya Hatalı geri dönüşleri işle




1)    Geri dönen MapProviders listesine göre BaseMapType belirle




 16
Harita dilleri

• 8 farklı dil destekleniyor, henüz Türkçe yok
     • Arapça, Çince, Almanca, İngilizce,
       Fransızca, İtalyanca,Rusça, İspanyolca

• ApplicationContext’ de
  DefaultLanguage belirlemek yeterli




• Varsayılan dil İngilizce



17
Haritadaki olaylardan haberdar olmak



     • MapDisplay objesinde oluşan olaylardan haberdar olmak için bir
       MapComponent yaratın




     • MapComponent ‘a bir EventListener ekleyin




18
Harita işaretleri




19
Haritada İşaretler
•        MapStandardMarker
           • Çeşitli geometrik şekiller ve Balloon
           • Kolayca yazı eklenebilir, renk belirlenebilir
           • Varsayılan işaret ‘Nokia Mavisi’ Balloon



•        MapMarker
           • Genelde resim ikonlar eklemek için kullanılır

•        MapFactory kullanarak yaratılırlar




    20
Polyline ve Polygonlar
• MapPolyline birbirine bağlı noktalardan oluşur




• MapPolygon bağlı noktaların arasındaki alandır




• Tüm diğer harita objeleri gibi MapFactory ile yaratılırlar

• Bu objelerindeki GeoBoundingBox sıkça kullanacağınız
  bir özellikdir


 21
MapCanvas MapDisplay MapObject




• MapCanvas , MapFactory ve MapDisplay objelerini barındırır
• MapFactory tüm MapObject tipindeki objelerin yaratılmasında
  kullanılır
• MapFactory kullanarak bir MapDisplay yaratabilirsiniz
• MapDisplay kendisi de MapObject tipinde bir objedir
• MapObject tipindeki objeler bir MapContainer içinde tutulabilir

22
Konum ve Arama Servisleri




23
Geocode Arama
•    Adresten harita lokasyonunu arar

•    Aramalar senkron veya asenkron
     olabilir

•    Asenkron olanı tercih edin

1. Bir GeoCodeRequestListener yaratın


2. Bir GeoCodeRequest yaratın



3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin




24
Geri Geocode Arama
     •   Coğrafik koordinatlardan adres aramadı.
     •   Aramalar senkron veya asenkron olabilir
     •   Asenkron olanı tercih edin

     1. ReverseGeocodeRequestListener yaratın


     2. ReverseGeoCodeRequest yaratın




     3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin




25
Yer Arama
• Yerel aramalar
         •   Text arama (örnek: “Pizza”)
         •   Kategori arama (örnek: restaurant)
         •   Veya kombinasyonu (örnek: “Cake” + restaurant)




• Detaylı sonuçlar
     •   Haberleşme bilgileri
     •   Açılış zamanları
     •   Tanımlar, yorumlar
     •   Resimler...




26
Nasıl Yer Arama Yapılır
     1. PlaceSearchRequestListener yarat


     2. PlaceSearchRequest yarat




     3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin



     4. Detaylara Result içinden ulaşabilirsiniz




27
Rota Servisi
      • Rota Servisi bir veya daha fazla nokta (waypoint) arasında
        yol bulmak için kullanılır
      • Rota servisinden cevap dönmesi zaman alabilir onun için
        Rota servisi ile asenkron çalışmak daha iyidir

     1. RouteListener      yarat

     2. RouteRequest     yarat




     3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin




28
Rota Servisi
 • Yol hesaplama yöntemi RoutingMode parametreleri
   değiştirilerek optimize edilebilir

     •   Routing Type – default is RoutingType.Shortest




     •   Mode of Transport – default is TransportMode.CAR




     •   Additional Restrictions – None are selected by default




29
Paylaşma Yöneticisi
     • RESTful harita kütüphanesi için Kısa ve şifreli URL’ ler oluşturur


     • URL SMS veya benzeri bir yöntemle aynı haritayı açmak üzere
       paylaşılabilir

     • İstemci yeteneklerine göre maps.nokia.com veya
       m.maps.nokia.com açılır




30
Konum belirleme




31
Series 40 telefonlar ile konum bulmak
• Java uygulamaları JSR-179 Location kütüphanesi ile konum
  beliryebilirler
• İki şekilde konum belirlenebilir
  • Cell ID positioning
  • GPS
• Series 40 telefon GPS pek çok modelde bulunmadığından Cell-
  ID daha yaygın bir yöntemdir
• Harita kütüphanesinin bir parçası değildir




32
Cell-ID ile konum belirleme
• Yöntem bir servise cihazın o anda iletişimde bulunduğu GSM
  hücresinin numarasını bildirilmesi ve servisten bunun karşılığında bir
  coğrafik koordinat alınması ile gerçekleşir

• Bu yöntemin yanılma payı bölgedeki hücre sıklığına göre değişir


                                                  Cell-ID accuracy
                                          12000
                      Accuracy (meters)




                                          10000
                                           8000
                                           6000
                                           4000
                                           2000
                                              0
                                                   Urban   Suburban   Rural




 33
Cell-ID ile Konum Belirleme
1) LocationUtil kullanarak Cell-ID destekleyen bir
   LocationProvider yarat


     Note: getLocationProvider() ikinci parametresini şimdilik null
     verebilirsiniz.
2) getLocation() çağır ve sonucu işle




QualifiedCoordinate ve GeoCoordinate arasında birebir eşleşme
vardır




34
LocationUtil
• Konum belirleme yöntemleri aşağıdaki
  gibi kombinasyonlar olabilir

Useful Combinations
• Offline Cell ID

• Standalone GPS

• Assisted GPS

• Online Cell ID an/or WLAN



35
GPS ile Konum Belirleme

1. Create a GPS LocationProvider




2. Set the provider to start polling

3. Retrieve and process the result




 36
Daha Fazla Bilgi
En son SDK ve bilgiler için
http://developer.nokia.com

Nokia Developer Java dökümanları
http://www.developer.nokia.com/Resources/Library/Java

Nokia Harita Kütüphaneleri
http://developer.nokia.com/Maps

Bu webinardaki kod örnekleri
https://github.com/gorkem/MapsWebinar

Nokia Developer Türkiye
http://developer.nokia.com/tr
http://facebook.com/NokiaDevTr
http://twitter.com/NokiaDevTr
 37

Mais conteúdo relacionado

Semelhante a Intro to Apps with Maps for Series 40 (Turkish)

Arc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumaniArc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumaniAli Azad Özkul
 
Dokunsal Navigasyon Cihazı
Dokunsal Navigasyon CihazıDokunsal Navigasyon Cihazı
Dokunsal Navigasyon CihazıBusra Pamuk
 
C sharp-sitesi
C sharp-sitesiC sharp-sitesi
C sharp-sitesisersld30
 
COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...
COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...
COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...Levent Sabah
 
Nokia Uygulama Geliştirme Platfornları
Nokia Uygulama Geliştirme PlatfornlarıNokia Uygulama Geliştirme Platfornları
Nokia Uygulama Geliştirme PlatfornlarıGorkem Ercan
 
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...Tolga Kaprol
 
Coğrafik Veri Ambarlarının Modellenmesi ve Sorgulanması
Coğrafik Veri Ambarlarının Modellenmesi ve SorgulanmasıCoğrafik Veri Ambarlarının Modellenmesi ve Sorgulanması
Coğrafik Veri Ambarlarının Modellenmesi ve SorgulanmasıFerhat Kurt
 
C sharp-2014
C sharp-2014C sharp-2014
C sharp-2014sersld30
 
Sap2000 kursu-diyarbakir
Sap2000 kursu-diyarbakirSap2000 kursu-diyarbakir
Sap2000 kursu-diyarbakirsersld95
 
Sap2000 kursu-arnavutkoy
Sap2000 kursu-arnavutkoySap2000 kursu-arnavutkoy
Sap2000 kursu-arnavutkoysersld95
 
C sharp-2016
C sharp-2016C sharp-2016
C sharp-2016sersld30
 
C sharp-proje
C sharp-projeC sharp-proje
C sharp-projesersld30
 
Sap2000 kursu-kucukcekmece
Sap2000 kursu-kucukcekmeceSap2000 kursu-kucukcekmece
Sap2000 kursu-kucukcekmecesersld95
 
Programlama sitesi
Programlama sitesiProgramlama sitesi
Programlama sitesisersld96
 
Sap2000 kursu-buyukcekmece
Sap2000 kursu-buyukcekmeceSap2000 kursu-buyukcekmece
Sap2000 kursu-buyukcekmecesersld95
 
C sharp-teknigi
C sharp-teknigiC sharp-teknigi
C sharp-teknigisersld30
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Mustafa AKIN
 

Semelhante a Intro to Apps with Maps for Series 40 (Turkish) (20)

Arc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumaniArc gis-90-uygulama-dokumani
Arc gis-90-uygulama-dokumani
 
Dokunsal Navigasyon Cihazı
Dokunsal Navigasyon CihazıDokunsal Navigasyon Cihazı
Dokunsal Navigasyon Cihazı
 
C sharp-sitesi
C sharp-sitesiC sharp-sitesi
C sharp-sitesi
 
COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...
COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...
COĞRAFİ BİLGİ SİSTEMLERİ KULLANARAK AÇIK KAYNAK KODLU KONUMSAL WEB UYGULAMA...
 
Nokia Uygulama Geliştirme Platfornları
Nokia Uygulama Geliştirme PlatfornlarıNokia Uygulama Geliştirme Platfornları
Nokia Uygulama Geliştirme Platfornları
 
Oracle Day 2011 Ceva Lojistik İş Zekası by KORA
Oracle Day 2011 Ceva Lojistik İş Zekası by KORAOracle Day 2011 Ceva Lojistik İş Zekası by KORA
Oracle Day 2011 Ceva Lojistik İş Zekası by KORA
 
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
Sinema Seans Bilgi ve Rezervasyon Sisteminin Mikro Servis Yaklaşımıyla Gelişt...
 
Coğrafik Veri Ambarlarının Modellenmesi ve Sorgulanması
Coğrafik Veri Ambarlarının Modellenmesi ve SorgulanmasıCoğrafik Veri Ambarlarının Modellenmesi ve Sorgulanması
Coğrafik Veri Ambarlarının Modellenmesi ve Sorgulanması
 
C sharp-2014
C sharp-2014C sharp-2014
C sharp-2014
 
Sap2000 kursu-diyarbakir
Sap2000 kursu-diyarbakirSap2000 kursu-diyarbakir
Sap2000 kursu-diyarbakir
 
Web development
Web developmentWeb development
Web development
 
CERP 4.0 Sunum.pptx
CERP 4.0 Sunum.pptxCERP 4.0 Sunum.pptx
CERP 4.0 Sunum.pptx
 
Sap2000 kursu-arnavutkoy
Sap2000 kursu-arnavutkoySap2000 kursu-arnavutkoy
Sap2000 kursu-arnavutkoy
 
C sharp-2016
C sharp-2016C sharp-2016
C sharp-2016
 
C sharp-proje
C sharp-projeC sharp-proje
C sharp-proje
 
Sap2000 kursu-kucukcekmece
Sap2000 kursu-kucukcekmeceSap2000 kursu-kucukcekmece
Sap2000 kursu-kucukcekmece
 
Programlama sitesi
Programlama sitesiProgramlama sitesi
Programlama sitesi
 
Sap2000 kursu-buyukcekmece
Sap2000 kursu-buyukcekmeceSap2000 kursu-buyukcekmece
Sap2000 kursu-buyukcekmece
 
C sharp-teknigi
C sharp-teknigiC sharp-teknigi
C sharp-teknigi
 
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır? Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
Docker Nedir, Ne İşe Yarar, Nasıl Kullanılmalıdır?
 

Mais de Microsoft Mobile Developer

Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsMicrosoft Mobile Developer
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appMicrosoft Mobile Developer
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeMicrosoft Mobile Developer
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoMicrosoft Mobile Developer
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraMicrosoft Mobile Developer
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesMicrosoft Mobile Developer
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsMicrosoft Mobile Developer
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0Microsoft Mobile Developer
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Microsoft Mobile Developer
 

Mais de Microsoft Mobile Developer (20)

Location based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tagLocation based services for Nokia X and Nokia Asha using Geo2tag
Location based services for Nokia X and Nokia Asha using Geo2tag
 
HERE Maps for the Nokia X platform
HERE Maps for the Nokia X platformHERE Maps for the Nokia X platform
HERE Maps for the Nokia X platform
 
Nokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerationsNokia In-App Payment - UX considerations
Nokia In-App Payment - UX considerations
 
Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)Introduction to Nokia Asha SDK 1.2 (beta)
Introduction to Nokia Asha SDK 1.2 (beta)
 
UX considerations when porting to Nokia X
UX considerations when porting to Nokia XUX considerations when porting to Nokia X
UX considerations when porting to Nokia X
 
Kids' games and educational app design
Kids' games and educational app designKids' games and educational app design
Kids' games and educational app design
 
Nokia X: opportunities for developers
Nokia X: opportunities for developersNokia X: opportunities for developers
Nokia X: opportunities for developers
 
Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1Lumia App Labs: Nokia Imaging SDK 1.1
Lumia App Labs: Nokia Imaging SDK 1.1
 
Intro to Nokia X software platform and tools
Intro to Nokia X software platform and toolsIntro to Nokia X software platform and tools
Intro to Nokia X software platform and tools
 
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsLumia App Labs: Lessons learned from 50 windows phone 8 design consultations
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultations
 
Windows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra appWindows Phone 8 speech: parliamo con la nostra app
Windows Phone 8 speech: parliamo con la nostra app
 
La pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo storeLa pubblicazione di un'applicazione sullo store
La pubblicazione di un'applicazione sullo store
 
Il pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progettoIl pattern mvvm come strutturare al meglio il vostro progetto
Il pattern mvvm come strutturare al meglio il vostro progetto
 
Lens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocameraLens app trasformare il telefono in una fotocamera
Lens app trasformare il telefono in una fotocamera
 
NFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra appNFC, Bluetooth e comunicazione tra app
NFC, Bluetooth e comunicazione tra app
 
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phonesNokia Asha webinar: Developing health-care applications for Nokia Asha phones
Nokia Asha webinar: Developing health-care applications for Nokia Asha phones
 
Connettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile ServicesConnettersi al Cloud Azure Mobile Services
Connettersi al Cloud Azure Mobile Services
 
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha appsNokia Asha webinar: Add VoIP services to your Nokia Asha apps
Nokia Asha webinar: Add VoIP services to your Nokia Asha apps
 
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
LUMIA APP LABS #18: INTRODUCING NOKIA IMAGING SDK 1.0
 
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
Nokia Asha webinar: Developing location-based services for Nokia Asha phones ...
 

Intro to Apps with Maps for Series 40 (Turkish)

  • 1. Nokia Series 40 için Harita ve Lokasyon Uygulamaları Geliştirmek Görkem Ercan (@GorkemErcan) Nokia 1
  • 2. Ajanda 1. Giriş 2. Kurulum 3. Temel Harita işlemleri 4. Harita işaretleri 5. Konum ve Arama Servisleri 6. Konum Belirleme 2
  • 4. Nokia Harita Uygulama Kütüphaneleri http://www.developer.nokia.com/Maps/ • Maps API for JavaScript • Nokia Places API (beta) • Map Image API for HTTP • Maps API for Qt • Maps API for Java ME 4
  • 5. Nokia Java ME Harita Kütüphanesi • MIDP 2.0 ve üstü telefonları destekler • Series 40 telefonlar için optimize • Façade Pattern ile alt seviye tüm detayları saklar • 150 kB büyüklüğünde • Farklı harita tipleri (Uydu, Alan, Transit vs) • Polyline, polygon, işaretler gibi harita temel harita objelerine destek • Arama, yol tarifi gibi servislere destek • Genişletilebilir http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/ 5
  • 6. Nokia Java ME Harita Kütüphanesi ve Statik Harita Servisleri Statik Servis Nokia Java ME Harita Kütüphanesi 6
  • 8. Alışveriş Listesi 1. Java Runtime Environment 6 http://www.java.com/en/download/index.jsp 2. Eclipse ve Eclipse MTJ http://www.eclipse.org/mtj http://www.developer.nokia.com/Resources/Library/Java/#!getting-started/ 3. Nokia SDK for Java http://www.developer.nokia.com/Develop/Java/Tools/ 4. Nokia Java ME Harita kütüphanesi http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/Getting_started/ 8
  • 9. Java Harita Kütüphanesi Jar dosyasını indirin http://www.developer.nokia.com/Develop/Maps/Maps_API_for_Java_ME/Getting_started/ Nokia SDK for Java 2.0 içine entegre 9
  • 10. Eclipse Ayarları Projenize harita kütüphanesini ekleyin. 10
  • 11. Nokia Developer kaydı Ücretsiz olarak developer.nokia.com adresinde kayıt olun 11
  • 12. Token ve AppID Her bir uygulamanız için ücretsiz olarak bir App Id and Token alın https://api.developer.nokia.com/ovi-api/ui/registration 12
  • 14. İlk Haritam 5 satırda tam bir harita 1. AppId ve Token’ ı ApplicationContext’e bildir 2. Bir MapCanvas yarat 3. Display.setCurrent() ile görüntüle 14
  • 15. Farklı Harita Çeşitleri Temel Harita tipleri Kod 15
  • 16. Daha Çok Çeşitlerde Harita 1) Bir MapSchemeListener yarat ve getAvailableMaps()’i çağır 2) Başarılı veya Hatalı geri dönüşleri işle 1) Geri dönen MapProviders listesine göre BaseMapType belirle 16
  • 17. Harita dilleri • 8 farklı dil destekleniyor, henüz Türkçe yok • Arapça, Çince, Almanca, İngilizce, Fransızca, İtalyanca,Rusça, İspanyolca • ApplicationContext’ de DefaultLanguage belirlemek yeterli • Varsayılan dil İngilizce 17
  • 18. Haritadaki olaylardan haberdar olmak • MapDisplay objesinde oluşan olaylardan haberdar olmak için bir MapComponent yaratın • MapComponent ‘a bir EventListener ekleyin 18
  • 20. Haritada İşaretler • MapStandardMarker • Çeşitli geometrik şekiller ve Balloon • Kolayca yazı eklenebilir, renk belirlenebilir • Varsayılan işaret ‘Nokia Mavisi’ Balloon • MapMarker • Genelde resim ikonlar eklemek için kullanılır • MapFactory kullanarak yaratılırlar 20
  • 21. Polyline ve Polygonlar • MapPolyline birbirine bağlı noktalardan oluşur • MapPolygon bağlı noktaların arasındaki alandır • Tüm diğer harita objeleri gibi MapFactory ile yaratılırlar • Bu objelerindeki GeoBoundingBox sıkça kullanacağınız bir özellikdir 21
  • 22. MapCanvas MapDisplay MapObject • MapCanvas , MapFactory ve MapDisplay objelerini barındırır • MapFactory tüm MapObject tipindeki objelerin yaratılmasında kullanılır • MapFactory kullanarak bir MapDisplay yaratabilirsiniz • MapDisplay kendisi de MapObject tipinde bir objedir • MapObject tipindeki objeler bir MapContainer içinde tutulabilir 22
  • 23. Konum ve Arama Servisleri 23
  • 24. Geocode Arama • Adresten harita lokasyonunu arar • Aramalar senkron veya asenkron olabilir • Asenkron olanı tercih edin 1. Bir GeoCodeRequestListener yaratın 2. Bir GeoCodeRequest yaratın 3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin 24
  • 25. Geri Geocode Arama • Coğrafik koordinatlardan adres aramadı. • Aramalar senkron veya asenkron olabilir • Asenkron olanı tercih edin 1. ReverseGeocodeRequestListener yaratın 2. ReverseGeoCodeRequest yaratın 3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin 25
  • 26. Yer Arama • Yerel aramalar • Text arama (örnek: “Pizza”) • Kategori arama (örnek: restaurant) • Veya kombinasyonu (örnek: “Cake” + restaurant) • Detaylı sonuçlar • Haberleşme bilgileri • Açılış zamanları • Tanımlar, yorumlar • Resimler... 26
  • 27. Nasıl Yer Arama Yapılır 1. PlaceSearchRequestListener yarat 2. PlaceSearchRequest yarat 3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin 4. Detaylara Result içinden ulaşabilirsiniz 27
  • 28. Rota Servisi • Rota Servisi bir veya daha fazla nokta (waypoint) arasında yol bulmak için kullanılır • Rota servisinden cevap dönmesi zaman alabilir onun için Rota servisi ile asenkron çalışmak daha iyidir 1. RouteListener yarat 2. RouteRequest yarat 3. Başarılı ve başarısız dönüşde ne yapacağınıza karar verin 28
  • 29. Rota Servisi • Yol hesaplama yöntemi RoutingMode parametreleri değiştirilerek optimize edilebilir • Routing Type – default is RoutingType.Shortest • Mode of Transport – default is TransportMode.CAR • Additional Restrictions – None are selected by default 29
  • 30. Paylaşma Yöneticisi • RESTful harita kütüphanesi için Kısa ve şifreli URL’ ler oluşturur • URL SMS veya benzeri bir yöntemle aynı haritayı açmak üzere paylaşılabilir • İstemci yeteneklerine göre maps.nokia.com veya m.maps.nokia.com açılır 30
  • 32. Series 40 telefonlar ile konum bulmak • Java uygulamaları JSR-179 Location kütüphanesi ile konum beliryebilirler • İki şekilde konum belirlenebilir • Cell ID positioning • GPS • Series 40 telefon GPS pek çok modelde bulunmadığından Cell- ID daha yaygın bir yöntemdir • Harita kütüphanesinin bir parçası değildir 32
  • 33. Cell-ID ile konum belirleme • Yöntem bir servise cihazın o anda iletişimde bulunduğu GSM hücresinin numarasını bildirilmesi ve servisten bunun karşılığında bir coğrafik koordinat alınması ile gerçekleşir • Bu yöntemin yanılma payı bölgedeki hücre sıklığına göre değişir Cell-ID accuracy 12000 Accuracy (meters) 10000 8000 6000 4000 2000 0 Urban Suburban Rural 33
  • 34. Cell-ID ile Konum Belirleme 1) LocationUtil kullanarak Cell-ID destekleyen bir LocationProvider yarat Note: getLocationProvider() ikinci parametresini şimdilik null verebilirsiniz. 2) getLocation() çağır ve sonucu işle QualifiedCoordinate ve GeoCoordinate arasında birebir eşleşme vardır 34
  • 35. LocationUtil • Konum belirleme yöntemleri aşağıdaki gibi kombinasyonlar olabilir Useful Combinations • Offline Cell ID • Standalone GPS • Assisted GPS • Online Cell ID an/or WLAN 35
  • 36. GPS ile Konum Belirleme 1. Create a GPS LocationProvider 2. Set the provider to start polling 3. Retrieve and process the result 36
  • 37. Daha Fazla Bilgi En son SDK ve bilgiler için http://developer.nokia.com Nokia Developer Java dökümanları http://www.developer.nokia.com/Resources/Library/Java Nokia Harita Kütüphaneleri http://developer.nokia.com/Maps Bu webinardaki kod örnekleri https://github.com/gorkem/MapsWebinar Nokia Developer Türkiye http://developer.nokia.com/tr http://facebook.com/NokiaDevTr http://twitter.com/NokiaDevTr 37