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!
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:
MKLaunchOptionsDirectionsModeWalking
anstelle von MKLaunchOptionsDirectionsModeDriving
festlegen
&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.
Sie können MKPlacemark
und MKMapItem
verwenden, um die Google Maps App mit einer Koordinate und einem Titel auf dem Map-Pin zu starten:
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.
Tags und Links objective-c ios6 ios5 mapkit ios6-maps