Otwieram aplikację Mapy, aby wyświetlać trasę z bieżącej lokalizacji użytkownika do współrzędnej docelowej z mojego kodu. Używam następującego kodu, aby otworzyć aplikację Mapy. Dzwonię do tego kodu po naciśnięciu przycisku. getCurrentLocation
to metoda zwracająca ostatnio zaktualizowaną lokalizację.Otwórz aplikację Mapy z kodu - Gdzie/jak znaleźć "Aktualna lokalizacja"?
- (void)showDirectionsToHere {
CLLocationCoordinate2D currentLocation = [self getCurrentLocation]; // LINE 1
NSString* url = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f",
currentLocation.latitude,
currentLocation.longitude,
destCoordinate.latitude,
destCoordinate.longitude];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}
Tutaj [self getCurrentLocation]
w LINE 1 używa CLLocationManager
celu ustalenia aktualnego miejsca i zwraca wartość.
Uwaga: Jeszcze nie zaimplementowałem kodu w LINE1. Właśnie planowałem to zrobić w ten sposób.
Moje pytania są następujące:
- Jest to dobra praktyka, aby obliczyć aktualnej pozycji, w czasie aplikacja Mapy nazywa?
- Czy
[self getCurrentLocation
] zwróci bieżącą lokalizację przed wywołaniemopenURL
? - Czy przed otwarciem aplikacji Mapy muszę określić obecną lokalizację?
Jestem trochę zmieszany z powodu tych rzeczy. Uprzejmie prowadź mnie. Dzięki.
Dzięki Man .. Kiedy mijam Current% 20Location jako saddr. Aplikacja Mapy nawet się nie otwiera. ** [NSString stringWithFormat: @<"http://maps.google.com/maps?saddr=Current%20Location&daddr=%f,%f">, destCoordinate.latitude, destCoordinate.longitude] ** to kod, którym jestem za pomocą. – EmptyStack
Umieść kod w swoim pytaniu lub umieść go w swoim komentarzu - nie można go odczytać tak jak jest. Jestem pewien, że to działa, więc brzmi to jak problem z syntezą. –
Przepraszamy. Kod, którego używam, to '[NSString stringWithFormat: @" http://maps.google.com/maps?saddr=Current%20Location&daddr=%f,%f ", destCoordinate.latitude, destCoordinate.longitude] ' – EmptyStack