Výpočtu dojezdové vzdálenosti do iPhone

hlasů
3

Musím najít jízdní vzdálenost mezi 2 lokalitách. Nepotřebuji zobrazit podle pokynů v mapě, stačí vypočítat vzdálenost, kterou musím používat v mé žádosti.

Má MapKit dovolit? Existuje alternativa, která může být použita?

Jsem schopen se dostat dopředu geo-kódování pomocí CloudMade, ale nezdá se, že by možnost získat dojezdové vzdálenosti.

Ocenit jakoukoliv pomoc.

Položena 21/01/2010 v 00:31
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

CloudMade rovněž nabízí trasy jízdy. Máte-li zájem jen v dálce, jednoduše ignorovat pokyny.

API-Call vypadá takto:

http://navigation.cloudmade.com/YOUR-API-KEY-GOES-HERE/api/0.3/47.25976,9.58423,47.26117,9.59882/car/shortest.js

a JSON zahrnuje

....
route_summary: {
total_distance: Distance in meters,...

Zdroj

Odpovězeno 21/01/2010 v 00:39
zdroj uživatelem

hlasů
2

Našel v Google Groups, je to užitečné?

http://groups.google.com/group/google-maps-api/msg/4dc2fad4f74e3314?pli=1

Odpovězeno 05/05/2010 v 04:40
zdroj uživatelem

hlasů
0

Ve svých aplikacích jsem MKDirections získat řidičský (chůze), vzdálenost mezi dvěma místa.

CLLocationCoordinate2D startCoordinates = YOUR_START_COORDINATES;
CLLocationCoordinate2D endCoordinates = YOUR_END_COORDINATES;

MKPlacemark *startPoint = [[MKPlacemark alloc] initWithCoordinate:startCoordinates];
MKPlacemark *endPoint = [[MKPlacemark alloc] initWithCoordinate:endCoordinates];

MKMapItem *startItem = [[MKMapItem alloc] initWithPlacemark:startPoint];
MKMapItem *endItem = [[MKMapItem alloc] initWithPlacemark:endPoint];

MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];

request.source = startItem;
request.destination = endItem;
request.transportType = MKDirectionsTransportTypeAutomobile; //here you can choose a transport type you need

MKDirections *direction = [[MKDirections alloc] initWithRequest:request];

[direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse * _Nullable response, NSError * _Nullable error) {

          if (response) {
              for (MKRoute *route in response.routes) {
                  NSLog(@"Distance : %f", route.distance);
              }
          }

 }];

pokud se máte místo jako adresy, takže můžete použít metodu CLGeocoder, který vám dá zeměpisnou šířku a délku vaší adresy

- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;

Srovnáme-li výsledek dojezdové vzdálenosti pomocí MKDirections s jedním použitím Google Maps, uvidíte, že se liší. Hledal jsem ohledně této záležitosti a narazil na následujícím odkazu http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/

I přesto, že Apple byli zlepšení jejich mapovou službu, přesto připouštějí ve přesností na Googlu (IMO), alespoň v otázce ohledně dojezdové vzdálenosti. Takže pokud přesnost není velmi důležité v případě, takže můžete sledovat spolu s Apple. V opačném případě bych doporučil kontrolu API Google.

Odpovězeno 29/07/2017 v 11:20
zdroj uživatelem

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