Berekening route length

stemmen
2

Ik heb een kaart met ongeveer 80 annotaties. Ik wil 3 dingen te doen.

1) Van mijn huidige locatie, ik zou graag willen weten van de exacte route afstand naar die positie. Niet de lineaire afstand.

2) Ik wil in staat zijn om een ​​lijst van alle meldingen kunnen worden weergegeven, maar voor elke annotatie (met lon / lat) Ik zou graag willen weten van de exacte route afstand van mijn naar die positie.

3) Ik zou graag naar de dichtstbijzijnde annotatie aan mijn possition gebruik route afstand weten. Niet lineaire afstand.

Ik denk dat het antwoord op al deze drie punten zal hetzelfde zijn. Maar houd er rekening mee dat ik niet wil om een ​​route te maken, ik wil gewoon de afstand tot de annotatie te leren kennen.

Ik hoop dat iemand mij kan helpen.

Met vriendelijke groet, Paul Peelen

De vraag is gesteld op 20/04/2010 om 08:49
bron van user
In andere talen...                            


3 antwoorden

stemmen
2

Van wat ik begrijp van je post, ik geloof dat je het zoeken Haversine formule . Gelukkig voor u, er zijn een aantal van Objective-C-implementaties , hoewel het schrijven van uw eigen is triviaal een keer voor je van de formule.

Ik oorspronkelijk verwijderd dit omdat ik niet merken dat je niet wilde lineaire afstand op het eerste, maar ik doe het terug te brengen in het geval u besluit dat een benadering is goed genoeg op dat punt van de interactie van de gebruiker.

antwoordde op 29/04/2010 om 09:10
bron van user

stemmen
1

Ik denk dat als eerder aangegeven, zou je zoekopdracht extreem zwaar voor de Google Maps API zijn als je uit te voeren precies wat je zegt. Heb je al die informatie in één keer nodig? Misschien eerst zou het goed genoeg om gewoon te vragen een deel van de afstanden op basis van een aantal heuristische of in de behoeften van de gebruiker.

Om de afstanden te verkrijgen, kunt u een Google Maps te gebruiken GDirectionsobject ... zoals opgemerkt hier (aan de onderkant van de pagina is er " Routes en Steps " sectie, met een geavanceerde voorbeeld .

" 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."

Met behulp van de Google Maps API in de iPhone moet niet te moeilijk zijn, en ik denk dat uw vraag heeft geen betrekking op dat, maar als je een aantal fundamentele voorbeeld nodig hebt, kan je kijkt naar deze vraag en gaat u naar het antwoord.

Succes!

antwoordde op 24/04/2010 om 16:23
bron van user

stemmen
0

Route wordt berekend afstand tot ongeveer 80 locaties is zeker rekenkundig intensief op Google's deel te zijn en ik kan me niet voorstellen dat u in staat om deze verzoeken aan de Google Maps API te maken zou zijn, was het mogelijk om dit te doen op een mobiel apparaat, zonder dat ernstig beperkt door ofwel de telefoonverbinding of snelheidslimieten op de server.

Helaas, het berekenen van de route afstand in plaats van geometrische afstand is een zeer dure berekening waarbij veel gegevens over het gebied - gegevens die u vrijwel zeker niet hebben. Dit betekent helaas dat dit is niet iets dat Core Location of MapKit u kunnen helpen met.

Wat is er aan het proberen op te lossen, precies? Er kunnen andere dan routeafstand andere heuristiek die u kunt gebruiken om een ​​soort van afstand ranking benaderen.

antwoordde op 23/04/2010 om 08:48
bron van user

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