Saya memiliki garis lintang dan bujur yang ingin saya buka di aplikasi peta saya. Saya mencoba kode ini dari SINI .
func goToMap(){
var lat1 : NSString = self.venueLat
var lng1 : NSString = self.venueLng
var latitude:CLLocationDegrees = lat1.doubleValue
var longitude:CLLocationDegrees = lng1.doubleValue
var coordinate = CLLocationCoordinate2DMake(latitude, longitude)
var placemark : MKPlacemark = MKPlacemark(coordinate: coordinate, addressDictionary:nil)
var mapItem:MKMapItem = MKMapItem(placemark: placemark)
mapItem.name = "Target location"
let launchOptions:NSDictionary = NSDictionary(object: MKLaunchOptionsDirectionsModeDriving, forKey: MKLaunchOptionsDirectionsModeKey)
var currentLocationMapItem:MKMapItem = MKMapItem.mapItemForCurrentLocation()
MKMapItem.openMapsWithItems([currentLocationMapItem, mapItem], launchOptions: launchOptions)
}
Fungsi ini berhasil membuka peta tetapi tidak menunjukkan pin apa pun. Juga menunjukkan lokasi pengguna yang tidak saya inginkan. Saya hanya ingin pin di peta untuk garis lintang dan bujur yang disediakan.
ios
swift
apple-maps
Dharmesh Kheni
sumber
sumber
Jawaban:
Kode ini berfungsi dengan baik untuk saya.
Untuk swift 3.0:
sumber
MKLaunchOptionsMapSpanKey
diabaikan ketika satu atau lebihMKMapItem
ditambahkan ke peta: stackoverflow.com/a/32484331/422288Jika Anda hanya ingin memberikan petunjuk mengemudi kepada pengguna, berikut sintaks Swift terbaru dalam bentuknya yang paling sederhana:
sumber
mapItem.openInMapsWithLaunchOptions([MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving])
Anda dapat memanggil fungsi kelas untuk
MKMapItem
mengirimkan item di sana, ini hanya menggunakan pertama dan terakhir untuk sumber / tujuan dengan tepat, jika Anda ingin meneruskan lebih dari dua item.Cepat 5, 4
atau menggunakan ekstensi:
sumber
Itu
MKMapItem
Pendekatan atas karya-karya besar jika Anda ingin kontrol granular atas informasi yang ditampilkan di Maps.Jika tidak, kode di bawah ini juga berfungsi dengan baik,:
Namun, kode di atas tidak memungkinkan Anda untuk mengirimkan nama kustom untuk tempat tersebut. Sebagai gantinya, ini akan menampilkan alamatnya.
Kode di atas juga memungkinkan Anda menavigasi dari koordinat sumber apa pun, yang saya tidak tahu apakah Anda dapat melakukannya dengan pendekatan MKMapItem.
sumber
Ini bekerja sebagai pesona bagi saya
sumber
Anda dapat menggunakan kode di bawah ini untuk menunjukkan PIN pada lat, long di peta Apple.
sumber
Jika yang Anda inginkan adalah sesuatu yang sederhana tanpa mengimpor kerangka kerja apa pun, Anda cukup membuat URL:
https://maps.apple.com/?ll=\(latitude),\(longitude)
Mirip dengan respon @ saniel-saidi tapi yang ini hanya membuka peta dengan lokasi yang dikirim, bukan navigasi
sumber
Saya tahu semua jawaban sudah lengkap tetapi di sini saya mendapat jawaban yang lebih mudah untuk di-copy paste & juga memberi pengguna opsi untuk merutekan dengan Apple Maps, Google Map & Waze.
Bekerja dengan Swift 5+
https://stackoverflow.com/a/60930491/6449292
Mungkin membantu seseorang ...
sumber
Update ke praktis Daniel Saidi jawabannya . Contoh ini hanya untuk memberi tahu koordinat tujuan. Peta akan mendapatkan posisi pengguna saat ini sebagai asal.
sumber