Thursday, June 7, 2007

Google Mapplets: Част 1 - Интро

За Mapplets се отдели най-много време на Google Developer Day, затова мисля и аз да отделя на тях най-много внимание и да ги разгледам малко по-подробно. И така какво са Mapplets? Mapplet е Google Gadget, който представлява комбинация от Google Maps + още нещо :) Най-общо казано, Mapplets са всички приложения, базирани на Google Maps API. Те имат възможността да поставят каквато и да е допълнителна информация директно върху картата от Google. Пример за това е WhoIsSick, където човек може да следи за епидемии и заразни болести в своя район. Общото между всички Mapplets е, че те са изключително полезни и най-често идеята за тях идва, когато ти потрябват. WhoIsSick, например, е измислен, докато шефчето е прекарало цяла нощ в болницата да чака да приемат жена му, за да му кажат, че има епидемия на някакъв лек вирус и всичко щяло да премине на следващия ден. И той си казал 'ех, ако го знаех по-рано...' и решил да поправи тази грешка в устройството на света :)
Може би всички вече имате идея как да направите Real Estate сайт, където да покажете различните имоти директно на картата? Точно така се е родил първият Mapplet, във времето, когато не е имало официално позволение за това. Просто е било платено на един програмист да хакне (reverse engineer) Google Maps, така че да се добави съответната функционалност. От много време насам тази идея се имплементира и хиляди сайтове я ползват, дори и BulgarianProperties.
До тук всичко звучи страхотно, но има и още. В Mapplets може да се интегрират и другите API's на Google. Например - Google Base. Казвате какъв продукт търсите, взимате му координатите и ги вадите на картата. Ако разгледате подробно references за Base и Mapplets ще разберете, че цялата работа се прави с 20 реда JavaScript, а документацията е повече от изчерпателна.
От техническа гледна точка, картите представляват едно множество от HTML елементи (iframe, img, JS), които са структурирани в един валиден формат. За да не се допуска "man in the middle", картата се зарежда от сайта на Google (както знаем, езикът JavaScript не разрешава манипулирането на елементи от чужд домейн), вашите данни се управляват от скрипт, който е на вашия домейн, а един трети 'невидим' iframe предава данните от единия на другия посдреством един криптиран GET параметър в URL-а (с който се инициализира самата карта). Просто гениално, нали? :)
Съветвам заинтересованите да прочетат диагонално документацията за Mapplets, докато подготвя следващите постове за Mapplets, където ще се засегнат следните теми:
  • GeoXML, GeoRSS, KML (формати за описване на геоданни)
  • MyMaps
  • Ново около Maps - GTrafficOverlay, GDirections, GAdsManager (AdSense за картите)
  • StreetView (разходка из града с Google Maps)
  • Mapplets & Online Marketing (как да докараме трафик към картите, как да докараме трафик от картите)
Ще ги подкарам най-вероятно в този ред, започвайки от тази вечер, а за да не скучаете, докато ме чакате, вижте сесията от Hamburg за Maps API:


No comments: