Lungimea traseului de calcul

voturi
2

Am o hartă cu aproximativ 80 de adnotări. Aș dori să fac 3 lucruri.

1) De la locația mea actuală, aș dori să știu distanța reală traseu la acea poziție. Nu este distanța liniară.

2) Vreau să fie în măsură să prezinte o listă a tuturor adnotărilor, dar pentru fiecare adnotare (având în lon / lat) Aș dori să știu distanța reală traseu de la poziția mea de la acea poziție.

3) Aș dori să știu cel mai apropiat adnotarea la possition meu folosind distanta de traseu. Nu distanța liniară.

Cred că răspunsul la toate aceste trei puncte vor fi la fel. Dar, vă rugăm să rețineți că nu vreau să creați un traseu, vreau doar să știu distanța până la adnotarea.

Sper că cineva mă poate ajuta.

Toate cele bune, Paul Peelen

Întrebat 20/04/2010 la 08:49
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
2

Din ceea ce am înțeles de post, cred că căuta formula Haversine . Din fericire pentru tine, există o serie de implementări Objective-C , deși este scris propria trivială odată cu formula lui în fața ta.

Am șters inițial acest lucru pentru că nu am observat că nu a vrut distanța liniară la început, dar eu o aduc înapoi în cazul în care decide că o aproximare este suficient de bun la acel moment special al interacțiunii utilizatorului.

Publicat 29/04/2010 la 09:10
sursa de către utilizator

voturi
1

Cred că așa cum a arătat mai înainte, interogarea ar fi extrem de greu pentru Google Maps API dacă efectuați exact ceea ce spui. Ai nevoie de toate aceste informații dintr-o dată? Poate mai întâi ar fi suficient de bun pentru a interoga doar câteva dintre distanțele bazate pe unele euristică sau în nevoile utilizatorului.

Pentru a obține distanțele, ați putea utiliza un Google Maps GDirectionsobiect ... așa cum a arătat aici (în partea de jos a paginii există „ Rute și pași de “ secțiune, cu un exemplu avansat .

The GDirections object also supports multi-point directions, which can be constructed using the GDirections.loadFromWaypoints() method. This method takes an array of textual input addresses or textual lat/lon points. Each separate waypoint is computed as a separate route and returned in a separate GRoute object, each of which contains a series of GStep objects.

Utilizarea Google Maps API în iPhone - ul nu ar trebui să fie prea dificil, și cred că întrebarea ta nu acoperă asta, dar dacă aveți nevoie de un exemplu de bază, ai putea uita la această întrebare, și derulați răspunsul.

Mult noroc!

Publicat 24/04/2010 la 16:23
sursa de către utilizator

voturi
0

Calcularea distanta de traseu la aproximativ 80 de locații este sigur să fie computațional intensiv din partea companiei Google și nu-mi pot imagina că ar fi în măsură să facă aceste solicitări către Google Maps API, ar fi posibil să facă acest lucru pe un dispozitiv mobil, fără a fi sever limitată fie conexiunea la telefon sau limitele de frecvență pe server.

Din păcate, calcularea distanței traseu, mai degrabă decât distanța geometrică este un calcul foarte scump care implică o mulțime de date despre zona - date pe care aproape sigur nu au. Acest lucru înseamnă că, din păcate, că acest lucru nu este ceva care Core Locul de amplasare sau MapKit vă poate ajuta.

Ce problemă încerci să rezolve, mai exact? Pot exista și alte altele decât distanța traseu euristică puteți utiliza pentru a aproxima un fel de clasament la distanță.

Publicat 23/04/2010 la 08:48
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more