Wednesday, April 2, 2014

Pengenalan Google Maps API

Apa sih Google maps API? 
Sebelum membahas Google Maps API, kita harus paham dulu dengan API. API adalah kependekan dari Application programming interface. Dengan bahasa yang lebih sederhana, API adalah fungsi fungsi pemrograman yang disediakan oleh aplikasi atau layanan agar layananan tersebut bisa di integrasikan dengan aplikasi yang kita buat.

Jadi Google maps API adalah fungsi fungsi pemrograman yang disediakan oleh Google maps agar Google maps bisa di integrasikan kedalam Web atau aplikasi yang sedang buat. Contoh sederhanya misalkan anda ingin membuat Sistem informasi Geografis kampus di jogja, dengan memanfaatkan Google Maps API anda bisa membuat GIS tanpa perlu memikirkan Peta Jogja, anda tinggal pake Google maps dan memanggil fungsi fungsi yang dibutuhkan seperti menampilkan peta, menempatkan marker dan sabagainya.

Google maps API sendiri menyediakan fungsi yang sangat banyak, berikut ini adalah pembagiannya
  • Google maps Javascript API v3, ini adalah google maps API yang akan kita pelajari. embel embel javascript menunjukan API ini tersedia dalam bahasa javascript.
  • Google Maps API Webservice, layanan Google maps API untuk fungsi lanjutan seperti direction, Geocoding, Distance Matrix API dan elevation API.
  • Google Place API, ini adalah API wajib yang harus dikuasai untuk membuat aplikasi Location based service
Aplikasi jenis apa yang bisa kita buat dengan Google Maps API?
Semua aplikasi yang membutuhkan layanan peta. Aplikasi tidak terbatas pada website, namun juga bisa aplikasi desktop ataupun aplikasi di smartphone bahkan aplikasi di embeded sistem misalkan aplikasi avigasi di mobil.

Berikut ini adalah gambaran ide yang bisa diterapkan diterapkan:
  1. Website review Kuliner, user bisa memasukan nama rumah makan, merating kualitas makanannya dan menginput lokasinya di peta.
  2. Aplikasi GIS berbasis Deskop dan dengan mudah mengintegrasikan dengan Google maps api untuk memvisualisasikan data, misalkan visualisasi peta kemiskinan di propinsi X.
  3. Aplikasi di Mobile (Android) untuk menampilkan informasi hotel diurutkan berdasarkan lokasi terdekat dengan anda dan petunjuk jalan menuju Hotel tersebut.
  4. Aplikasi tracking taksi sehingga manager perusahaan taksi bisa melihat secara realtime posisi setiap taksi yang beroperasi.
Dan ide ide lain yang masih berhubungan dengan lokasi, tempat atau peta bisa memanfaatkan Google Maps API untuk meralisasikannya.

Apakah Google Maps API gratis?
Google maps API bisa anda pakai secara gratis, anda tidak perlu mengeluarkan biaya untuk lisensi. Hanya saja, request peta maksimal yang diperbolehkan hanya 2500 request/perhari. Jika lebih dari itu, anda harus membeli lisensi Google Maps API for Bisnis.

Apa Ilmu dasar yang harus saya kuasai?
Untuk belajar Google maps API anda minimal harus tahu HTML dan javascript dasar. Jika anda belum tahu website w3schools.com adalah tempat yang tepat untuk belajar.

OS &Sotware apa yang saya butuhkan?
karena Google maps API berbasis Web, maka anda bisa membuat aplikasi berbasis Google maps api disembarang OS. Tool yang dibutuhkan hanya Text Edior , Browser dan koneksi internet.

Apa itu Google API?

Google API bisa di katakan bagian dari Framework Google

Google menyediakan berbagai API (Application Programming Interface) yang sangat berguna bagi pengembang web maupun aplikasi desktop untuk memanfaatkan berbagai fitur yang disediakan oleh Google seperti misalnya: AdSense, Search Engine, Translation maupun YouTube.

API secara sederhana bisa diartikan sebagai kode program yang merupakan antarmuka atau penghubung antara aplikasi atau web yang kita buat dengan fungsi-fungsi yang dikerjakan. Misalnya dalam hal ini Google API berarti kode program (yang disederhanakan) yang dapat kita tambahkan pada aplikasi atau web kita untuk mengakses/menjalankan/memanfaatkan fungsi atau fitur yang disediakan Google. Misalnya saja kita bisa menambahkan fitur Google Map pada website kita.

Google API dapat dipelajari langsung melalui Google Code. Melalui Google Code kita dapat belajar tentang Google API dan dapat mengimplementasikan pada aplikasi web atau website yang kita kembangkan.

Ada banyak API yang disediakan oleh Google, beberapa diantaranya adalah:
  • Language API: untuk memanfaatkan fitur translation yang dimiliki Google.
  • Earth API: memanfatkan fitur yang ada pada Google Earth
  • Javascript API
  • Maps API: memanfaatkan fitur yang ada pada Google Maps
  • Search API: memanfaatkan fitur pencarian pada Google Search
  • Visualization API: membuat grafik maupun chart dengan Google API
  • YouTube API: memanfaatkan fitur yang ada pada YouTube misalnya untuk pencarian video
Salah satu cara mudah mempelajari Google API adalah dengan memanfaatkan Google AJAX APIs Playground. AJAX APIs playground adalah sebuah situs yang disediakan oleh Google bagi kita untuk mencoba secara langsung sejumlah Google API yang berbasis AJAX (Asynchronous Javascript and XML). Karena berbasis AJAX maka tentunya semua kode program dalam sintaks Javascript yang bisa kita lihat, kopi dan paste secara langsung untuk digunakan pada website kita.

Dengan menggunakan Google AJAX API, kita bisa mengintegrasikan data pada website kita dengan API yang disediakan oleh Google.

Android : Peran Google Play Service


Apakah itu Google Play Services? 
Google Play Services adalah satu wadah yang menjadi tempat dari semua API untuk Android versi 2.2 dan seterusnya. Nah, API atau Application Programming Interface adalah istilah keren untuk kode khusus yang dibuat Google untuk Android sehingga developer dapat membuat app yang menghubungkan satu dengan yang lain. API ini dipakai di semua lini, yang sebenarnya detailnya tak perlu kita lebih dalami.

Lalu apa perannya sehingga dia memegang peran penting? 
Tanpa Anda sadari Play (Store) yang ada di gadget saat ini telah update ke versi 4.1.6, betul? Itu adalah satu dari sekian banyak ulah dari Google Play Services. Sekarang juga sudah pada menggunakan app Hangouts alih-alih Google Talk. Itu adalah satu lagi ulah Google Play Services tadi. 
Jadi tugasnya memang mencari gadget berbasis Android dan memberikan update tanpa harus selalu meminta user untuk repot melakukan sesuatu. Karena kontrol Google Play Services ini ada di tangan Google, maka mereka punya kendali untuk memberikan update berupa apa saja, kapan saja, dan kepada siapa akan diberikan. Jika dulu untuk mendapat update API terbaru Android harus menunggu enam bulan hingga satu tahun, maka di tahun mendatang update akan datang sekitar satu minggu setelah dirilis. Cepat dan effortless.

Seberapa penting sebenarnya Google Play Services ini bagi gadget Android?
Kunci dan fitur utama yang bagus di Android adalah layanan dari Google. Ada Google Maps, GMail, YouTube, Google+, dan seterusnya. Semua ini membutuhkan akses ke API tadi. Dengan kondisi API selalu terbaru dan diberikan langsung ke gadget maka mudah bagi app tadi untuk mengaksesnya dengan semua fitur baru tak peduli Android yang ada versi 2.2, 4.0 atau 4.3. Semua memiliki fitur dan dapat merasakan pengalaman yang sama.

GIS : Cara Kerja Map Server

MapServer adalah applikasi Open Source yang memungkinkan sebuah data peta diakses melalui web. Teknologi ini pertama kali dikembangkan oleh Universitas Minesotta Amerika Serikat. Hadirnya MapServer menjadikan pekerjaan membuat Peta Digital menjadi lebih mudah dan interaktif. Interaktif peta disini diartikan bahwa pengguna dapat dengan mudah melihat dan mengubah tampilan peta seperti zoom, rotate, dan menampilkan informasi (seperti menampilkan info jalan) dan analisis( seperti menentukan rute perjalanan) pada permukaan geografi. Diagram berikut menggambarkan bagaimana user berinteraksi dengan peta interaktif berbasis MapServer.

Diagram peta digital berinteraksi dengan user
Websites yang Mendukung Web Mapping
Ada beberapa websites pemetaan yang sudah bisa digunakan dan di eksporer diantaranya adalah :
Bagaimana MapServer bekerja
Map Server bekerja secara berdampingan dengan applikasi web server. Web Server menerima request peta melalui MapServer. MapServer mengenerate request terhadap peta dan mengirimkannya ke web server seperti pada gambar berikut.


Diagram operasi standar pada MapServer
Fungsi utama dari MapServer adalah melakukan pembacaan data dari banyak sumber dan menempatkannya kedalam layer-layer secara bersamaan menjadi file graphic. Salah satu layernya bisa saja berupa gambar satelit. Setiap layer saling overlay satu dengan lainnya dan ditampilkan kedalam web browser. Sebuah contoh tampilan Overlaping yang baik diperlihatkan seperti gambar berikut.

Tampilan peta dengan banyak layer
Dari gambar tersebut kita bisa melihat sebuah foto satelit (diperoleh dari remote server), garis-garis jalan, lokasi perkotaan, dan label-label kota yang di tampilkan secara generic oleh MapServer. Proses pengambaran peta (rendering) muncul setiap kali permintaan terhadap peta baru yang dilakukan oleh Mapserver termasuk ketika user melakukan level zoom terhadap tampilan peta.

Komponen-komponen Utama
Mapserver menghasilkan keluaran berupa file graphic berdasarkan masukan yang diberikan oleh user. Komponen kuncinya adalah MapServer executable yang terdiri dari CGI program, file peta, sumber data dan output gambar. Seperti pada gambar dibawah ini semua komponen bekerja bersama-sama, setelah user melakukan request/perminataan maka CGI akan mengakses file peta, menggambarkan informasi yang didapat dari sumber data dan kembali menampilkannya pada peta.

Komponen Utama MapServer
Mapserver Executable
Secara sederhana MapServer menjalankan executable applikasi CGI pada web server yang secara teknis merupakan proses stateless berbasis pada HTTP. Stateless adalah sebuah proses permintaan yang dilanjutkan dengan stop running. Applikasi CGI menerima permintaan dari web server, kemudian proses dilakukan dan mengembalikan respon atau data ke web server. CGI bekerja sangat sederhana tidak diperlukan sebuah pemrograman untuk dapat menggunakannya. Kita tinggal melakukan edit berdasarkan text base, konfigurasi runtime file, membuat halaman web, dan menempatkannya bekerja pada web server. MapServer CGI executable bekerja sebagai perantara antara file peta dengan program web server yang meminta peta. Permintaan di lewatkan dalam bentuk CGI parameter dari web server menuju MapServer. Gambar yang di buat oleh MapServer selanjutnya memberikan fed back ke web server dan selanjutnya menuju user melalui web browser.

MapServer Map File
MapServer seperti sebuah mesin yang membutuhkan bahan bakar untuk dapat bekerja dan membutuhkan system pengiriman (delivery system) bahan bakar untuk mencapai mesin . Program MapServer perlu mengetahui layer peta yang akan digambar, bagaimana menggambarkannya, dan dimana lokasi sumber datanya. Data merupakan bahan bakarnya dan file peta atau .map.file merupakan system pengirimannya (delivery system). File Peta adalah text konfigurasi yang terdiri dari list setting yang digunakan untuk menggambar dan berinteraksi dengan peta. Informasi yang termuat didalamnya adalah layer data apa yang akan digambar, dimana focus geografis petanya, system proyeksi yang digunakan, format apa yang akan digunakan untuk menampilkan gambar, dan cara menentukan legenda dan skala pada peta.
Contoh script dasar pemetaan dengan satu layer.
MAP
SIZE 600 300
EXTENT -180 -90 180 90
LAYER
NAME countries
TYPE POLYGON
STATUS DEFAULT
DATA countries.shp
CLASS
OUTLINECOLOR 100 100 100
END
END
END
Ketika request atau permintaan dating dari applikasi MapServer maka reguest tersebut mesti menyebutkan sepesifikasi file peta yang diinginkan. Kemudian MapServer membuat petanya berdasarkan pada setting pada file peta yang diberikan tadi.

Sumber Data
Seperti dijelaskan pada analogi diatas bahwa file peta adalah system pengiriman (delivery system) bahan bakarnya dan sumber data adalah bahan bakarnya. Map Server dapat menggunakan sebuah array dalam jumlah besar untuk menghasilkan peta. Opsional akses data ditambahkan untuk dapat mengakses lusinan format data raster dan vector. MapServer bisa menggunakan spesifikasi Open Geospasial Concorsium (OGC) untuk mengakses dan melakukan sharing data melalui internet. Layer peta juga bisa di request dari remote server yang juga berpedoman pada spesifikasi OGC.

 Sumber 

GIS : Map Server

MapServer (http://mapserver.gis.umn.edu) merupakan aplikasi freeware dan open source yang memungkinkan kita menampilkan data spasial (peta) di web. Aplikasi ini pertama kali dikembangkan di Universitas Minesotta, Amerika Serikat untuk projek ForNet (sebuah projek untuk manajemen sumber daya alam) yang disponsori NASA (National Aeronautics and Space Administration). Support NASA dilanjutkan dengan dikembangkan projek TerraSIP untuk manajemen data lahan. Saat ini, karena sifatnya yang terbuka (open source), pengembangan MapServer dilakukan oleh pengembang dari berbagai negara.

Pengembangan MapServer menggunakan berbagai aplikasi open source atau freeware seperti Shapelib (http://shapelib.maptools.org) untuk baca/tulis format data Shapefile, FreeType (http://www.freetype.org) untuk merender karakter, GDAL/OGR (http://www.remotesensing.org/gdal) untuk baca/tulis berbagai format data vektor maupun raster, dan Proj.4 (http://www.remotesensing.org/proj) untuk menangani beragam proyeksi peta.
Pada bentuk paling dasar, MapServer berupa sebuah program CGI (Common Gateway Interface). Program tersebut akan dieksekusi di web server, dan berdasarkan beberapa parameter tertentu (terutama konfigurasi dalam bentuk file *.MAP) akan menghasilkan data yang kemudian akan dikirim ke web browser, baik dalam bentuk gambar peta ataupun bentuk lain.
MapServer mempunyai fitur¬fitur berikut:
  • menampilkan data spasial dalam format vektor seperti: Shapefile (ESRI), ArcSDE (ESRI), PostGIS dan berbagai format data vektor lain dengan menggunakan library OGR
  • menampilkan data spasial dalam format raster seperti: TIFF/GeoTIFF, EPPL7 dan berbagai format data raster lain dengan menggunakan library GDAL
  • menggunakan quadtree dalam indexing data spasial, sehingga operasi¬operasi spasial dapat dilakukan dengan cepat
  • dapat dikembangkan (customizable), dengan keluaran yang dapat diatur menggunakan file¬file template
  • dapat melakukan seleksi objek berdasar nilai, berdasar titik, area, atau berdasar sebuah objek spasial tertentu
  • mendukung rendering karakter berupa font TrueType
  • mendukung penggunaan data raster maupun vektor yang di¬tiled (dibagi¬bagi menjadi sub bagian yang lebih kecil sehingga proses untuk mengambil dan menampilkan gambar dapat dipercepat)
  • dapat menggambarkan elemen peta secara otomatis: skala grafis, peta indeks dan legenda peta
  • menggunakan skala dalam penggambaran objek spasial
  • dapat menggambarkan peta tematik yang dibangun menggunakan ekspresi lojik mapun ekspresi reguler
  • dapat menampilkan label dari objek spasial, dengan label dapat diatur sedemikian rupa sehingga tidak saling tumpang tindih
  • konfigurasi dapat diatur secara on the fly melalui parameter yang ditentukan pada URL
  • dapat menangani beragam sistem proyeksi secara on the fly
Saat ini, selain dapat mengakses MapServer sebagai program CGI, kita dapat mengakses MapServer sebagai modul MapScript, melalui berbagai bahasa skrip: PHP, Perl, Python atau Java. Akses fungsi¬fungsi MapServer melalui skrip akan lebih memudahkan pengembangan aplikasi. Pengembang dapat memilih bahasa yang paling familiar.