Aplicația iPhone Maps este un program revoluționar care combină puterea GPS și Google Maps cu o interfață incredibil de ușor de utilizat. Acest sfat rapid vă va învăța cum să începeți să profitați de această funcție prin lansarea și configurarea aplicației Hărți din cadrul proiectului dvs. SDK iPhone.
Lansarea aplicației Hărți în propria aplicație se poate face doar cu următoarele două linii de cod:
UIAapplication * app = [UIApplication sharedApplication]; [app openURL: [NSURL URLWithString: @ "http://maps.google.com/maps?q=Paris"]];
Pe prima linie, solicităm o referință la instanța aplicației care rulează în prezent din clasa UIAapplication.
Pe linia a doua, îi spunem aplicației să deschidă adresa URL furnizată, care este în acest caz o adresă URL Google Maps validă. Mai degrabă decât să deschideți harta în Mobile Safari așa cum s-ar putea să vă așteptați, instanța aplicației este suficient de inteligentă pentru a realiza că această solicitare este mai bine rezolvată de aplicația Hărți și că o va lansa.
Notă: Din păcate, Simulatorul iPhone nu va deschide aplicația Hărți împreună cu codul de mai sus (Simulatorul nu are aplicația Hărți). Va trebui să rulați acest fragment pe un dispozitiv iPhone real pentru a testa. Rularea acestui cod în Simulatorul iPhone va lansa Google Maps în Mobile Safari.
Voila! Bun venit în Franța.
Acum, când înțelegem elementele de bază, să explorăm mai mult funcționalitatea oferită de API-ul Maps.
Adresa URL furnizată mai sus este formatată ca o postare HTTP GET în aplicația Google Maps. El trimite parametrul "q" setat la valoarea "Paris". "Q" înseamnă interogare și este cel mai general tip de solicitare pe care îl putem face. Câțiva alți parametri utilizați în mod obișnuit includ:
După cum probabil ați ghicit, puteți combina mai mulți parametri într-o singură cerere GET. Aceasta se face prin legarea lor cu simbolul '&'.
Puteți găsi mai multe informații detaliate despre parametrii sprijiniți (cu exemple) din documentația oficială Apple Inc. aici.
Să încheiem cu un exemplu de combinare a câtorva dintre parametrii personalizați de mai sus și să trimitem utilizatorilor noștri o vedere prin satelit a Turnului Eiffel.
Turnul Eiffel este situat la Latitude 48 ° 51 '32 "Nord, Longitudine 002 ° 17' 45" Est. Cu toate acestea, aceste informații nu ne sunt utile în formatul actual. Trebuie să convertim formatul Grad / Minut / Al doilea în formatul zecimal cerut de Hărți Google ll = parametru.
Există multe instrumente disponibile pentru a face acest lucru rapid, dar, atunci când lucrăm cu Google Maps, îmi place să folosesc un simplu truc pentru a genera o pereche de latitudine / longitudine de pe hartă. După ce ați localizat pe ecran o locație care vă interesează, introduceți în bara de adrese a browserului următorul fragment de cod (preluat de aici) și apăsați enter:
javascript: void (. prompt (“, gApplication.getMap () getCenter ()));
Am rămas cu formatul zecimal 48.85812229675187 și 2.294490337371826.
Acum, pentru a trimite utilizatorul nostru direct la Turnul Eiffel, am putea lipi în următoarele:
[app openURL: [NSURL URLWithString: @ "http://maps.google.com/maps?ll=48.85812229675187,2.294490337371826"]];
Implicit, aceasta se va lansa cu ajutorul tipului de hartă grafic. Acest lucru nu este la fel de impresionant ca și cum am vedea lucrul real, deci să schimbăm tipul hărții în satelit prin adăugarea '& t = k' la șirul de interogare:
[app openURL: [NSURL URLWithString: @ "http://maps.google.com/maps?ll=48.85812229675187,2.294490337371826&t=k"]];
Acest lucru funcționează, dar punctul nostru de vedere din partea de sus este doar un pic prea aproape. Să ieșim puțin prin setarea nivelului de mărire a hărții cu '& z = 19':
[app openURL: [NSURL URLWithString: @ "http://maps.google.com/maps?ll=48.85812229675187,2.294490337371826&t=k&z=19"]];
Perfect. La tur eiffel în palma mâinii noastre.