API Google Static Maps - Produse software

Hărțile Google statice sunt un bitmap obișnuit. O astfel de hartă nu are nicio caracteristică interactivă pentru a interacționa cu utilizatorul. Vestea bună este că nu trebuie să utilizați TWebBrowser - o sursă de acumulare constantă a memoriei RAM și de umflare a dimensiunii aplicației.

Informații despre utilizarea API-ului pentru hărți statice sunt disponibile în limba română la acest link http://code.google.com/intl/en-RU/apis/maps/documentation/staticmaps/. Recomandat pentru lectura obligatorie dupa articol.

Voi construi o aplicație simplă care afișează un anumit punct de latitudine și longitudine pe hartă cu scara necesară.

Pentru a obține o imagine cu un card, trebuie să faceți următoarele:

  1. Cunoașteți coordonatele punctului afișat și scara hărții în jurul punctului. Pentru a face acest lucru, vom desena cea mai simplă interfață de utilizator.
  2. Trimiteți o cerere http către server într-un format specific care conține parametrii imaginii și primiți un răspuns de la server sub forma unui bloc de date binare.
  3. Convertiți datele într-un format grafic acceptabil pentru Delphi.
  4. Desenați o imagine pe formular.

Acțiunea 1 Nu o voi descrie, nu voi descărca exemplul (Delphi 7), îl voi deschide și îl voi trece rapid în Delphi IDE.

Pasul 2. După cum urmează din informațiile Google (vezi linkul), formatul cererii este următorul: http://maps.google.com/staticmap?parameters , unde parametrii sunt perechi = , despărțiți de „&”. În general, forma obișnuită de transmitere a parametrilor către url. Pentru cerere, avem nevoie de următorii parametri:

Adică toți parametrii pe care îi oferă Google. Nu le voi descrie, după numele parametrilor este clar de ce este responsabil fiecare parametru. Pentru un studiu detaliat, recomand sursa originală. Mă voi limita la linia ptFormatarea funcțiilor din surse:

Permiteți-mi să vă atrag atenția asupra a trei puncte:

  1. Coordonatele sunt acceptate în formatul „valoare în virgulă mobilă” nu mai mult de 6 caractere după punct. Valorile sunt date în grade zecimale. Pentru a converti din formatul de secunde, amintiți-vă câte secunde sunt în minute.
  2. Google asigură că dimensiunea maximă a imaginii este 512x512. S-a calculat empiric că dimensiunea maximă este 640x640.
  3. Cu cheia hărții, situația nu este complet clară. Nu am folosit cheia obținută de la Google, pentru că cheia este generată pentru un anumit site, iar harta este afișată în aplicație. Am luat cheia din exemplul de pe site. În timp ce funcționează și ce se va întâmpla în continuare, nu știu.

La ieșire, avem o clasă TOleGraphic completată în cazul unei conexiuni reușite, sau un pointer nul în cazul unei defecțiuni a serverului sau a lipsei de comunicare cu serverul.

Acest lucru finalizează pașii 2 și 3. Bitmap-ul este în mâinile noastre, îl desenăm pe formular cât de bine putem.

Și toate întrebările - pentru Google, el știe TOT!

Și pentru cei care sunt în rezervor - pentru ca exemplu să funcționeze corect, aveți nevoie de o conexiune activă de lucru la Internet.

Rezultatul arată astfel:

produse

Ca epilog, un citat din bash.org:

De pe forum, o discuție despre Google Earth: xxx: Bună, membrii forumului! Ați putea să oferiți Google Earth coordonatele porturilor militare din SUA?