Calcul de longueur de route

voix
2

J'ai une carte avec environ 80 annotations. Je voudrais faire 3 choses.

1) De mon emplacement actuel, je voudrais savoir la distance de route réelle à cette position. Pas la distance linéaire.

2) Je veux être en mesure de montrer une liste de toutes les annotations, mais pour toutes les annotations (ayant LON latitude / longitude) Je voudrais savoir la distance de route réelle de ma position à ce poste.

3) Je voudrais savoir l'annotation la plus proche de mon possition en utilisant la distance de l'itinéraire. Distance non linéaire.

Je pense que la réponse à ces trois points sera le même. Mais s'il vous plaît garder à l'esprit que je ne veux pas créer un itinéraire, je veux juste savoir la distance à l'annotation.

J'espère que quelqu'un peut me aider.

Meilleures salutations, Paul Peelen

Créé 20/04/2010 à 08:49
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
2

D'après ce que je comprends de votre poste, je crois que vous cherchez la formule Haversine . Heureusement pour vous, il y a un certain nombre d' implémentations Objective-C , bien que la rédaction de votre propre est trivial une fois de la formule dans le devant vous.

Je supprimé l'origine parce que je ne l'ai pas remarqué que vous ne vouliez pas la distance linéaire au début, mais je le ramener au cas où vous décidez qu'une approximation est assez bon à ce moment particulier de l'interaction de l'utilisateur.

Créé 29/04/2010 à 09:10
source utilisateur

voix
1

Je pense que comme l'a fait avant, votre requête serait extrêmement lourd pour l'API Google Maps si vous effectuez exactement ce que vous dites. Avez-vous besoin toutes ces informations à la fois? Peut-être d'abord, il serait assez bon pour interroger quelques-unes des distances basées sur une heuristique ou dans les besoins des utilisateurs.

Pour obtenir les distances, vous pouvez utiliser un Google Maps GDirectionsobjet ... comme indiqué ici (en bas de la page il y a « Routes et étapes section », avec un exemple avancé .

« 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.»

En utilisant l'API Google Maps dans l'iPhone ne devrait pas être trop difficile, et je pense que votre question ne couvre pas, mais si vous avez besoin d'exemple de base, vous pouvez regarder cette question, et faites défiler jusqu'à la réponse.

Bonne chance!

Créé 24/04/2010 à 16:23
source utilisateur

voix
0

Calcul de la distance de la route à environ 80 emplacements est certain d'être informatiquement intensive de la part de Google et je ne peux pas imaginer que vous seriez en mesure de faire ces demandes à l'API Google Maps, était-il possible de le faire sur un appareil mobile, sans être sévèrement limitée soit par la connexion de téléphone ou des limites de fréquence sur le serveur.

Malheureusement, le calcul de la distance de la route plutôt que la distance géométrique est un calcul très coûteux impliquant un grand nombre de données sur la région - données presque certainement n'avez pas. Cela signifie, malheureusement, que ce n'est pas quelque chose que Core emplacement ou MapKit peuvent vous aider.

Quel est le problème que vous essayez de résoudre, exactement? Il peut y avoir d'autres heuristiques autres que la distance de l'itinéraire que vous pouvez utiliser pour rapprocher une sorte de classement à distance.

Créé 23/04/2010 à 08:48
source utilisateur

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