Rufen Sie Maps für Wegbeschreibungen in Ihrer App auf - iOS5 iOS6

8

Hier ist ein seltsames Problem: Meine App sollte die eingebauten Karten in iOS (5.1 und 6) aufrufen können. Es stellt sich heraus, dass es unter iOS6 funktioniert, aber nicht unter iOS5.1. Die Karten in iOS6 werden aufgerufen und die Richtungen von Saddr zu Daddr werden verfolgt, aber wenn ich in iOS5 bin, wird die Karten-App aufgerufen, aber nur ein Pin wird auf den Daddr gesetzt. Aus einem unbekannten Grund werden die Anfangskoordinaten (saddr) nicht angezeigt und keine Richtung verfolgt.

Hier ist mein Code:

%Vor%

Ich habe versucht, die URL zu "http://maps.google.com/something" zu ändern, aber sie ruft Safari anstelle der integrierten Google Maps App auf. Ich habe festgestellt, dass die Variablen korrekt an die URL übergeben werden.

Irgendwelche Ideen?

Vielen Dank im Voraus!

    
lsp 14.09.2012, 03:51
quelle

2 Antworten

35

Ich hatte ein ähnliches Problem und musste einen bedingten Betriebssystemcode erstellen, um die Tatsache zu beheben, dass die Google Maps-Anwendung entfernt wurde. Von der neuen MKMapItem Referenz

%Vor%

Um eine Wegbeschreibung zu erhalten:

  1. Für iOS 6-Karten - Sie können MKLaunchOptionsDirectionsModeWalking anstelle von MKLaunchOptionsDirectionsModeDriving festlegen
  2. Für Google Maps - Fügen Sie &dirflg=w zur URL hinzu.

Ich denke, es ist besser, die openInMapsWithLaunchOptions in iOS6 zu verwenden, weil Sie damit die Steuerung der Kartenanwendung vollständig steuern können.

    
dirkoneill 14.09.2012, 21:57
quelle
0

Sie können MKPlacemark und MKMapItem verwenden, um die Google Maps App mit einer Koordinate und einem Titel auf dem Map-Pin zu starten:

%Vor%

Beachten Sie, dass Sie eine Verknüpfung mit AddressBook.framework herstellen müssen, und fügen Sie auch #import <AddressBook/AddressBook.h> irgendwo in Ihrem Code hinzu, um die Konstante kABPersonAddressStreetKey zu verwenden.

    
Nick Forge 20.11.2012 01:38
quelle