I'm trying to implement navigation using Waze in my App, using their own API: here.
I want to set in custom coordinates that are set in an array
and then fit them in this code:
func navigate(toLatitude latitude: Double , longitude: Double) {
if UIApplication.shared.canOpenURL(URL(string: "waze://")!) {
// Waze is installed. Launch Waze and start navigation
let urlStr: String = "waze://?ll=\(latitude),\(longitude)&navigate=yes"
UIApplication.shared.openURL(URL(string: urlStr)!)
}
else {
// Waze is not installed. Launch AppStore to install Waze app
UIApplication.shared.openURL(URL(string: "http://itunes.apple.com/us/app/id323229106")!)
}
}
i have tried settings up different type of arrays but didn't succeed to make it work . So if you could help me out set custom array holding latitude and longitude that would work properly with the code, that would be awesome
your help will be very much helpful,
Thank you in advance.
Waze app supporting only destination latitude and longitude.
waze://?ll=<lat>,<lon>&navigate=yes
CLLocationCordiates will expect two parameters latitude and longitude, which is CLLocationDegrees type. CLLocationDegrees is nothing but Double value.
let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
If you have double values then no need to construct as CLLocationCoordinate2D. You can use the same function -> navigate() which you mentioned in your question
Pass the value to a below function to open Waze app.
func openWaze(location : CLLocationCoordinate2D) {
if UIApplication.shared.canOpenURL(URL(string: "waze://")!) {
// Waze is installed. Launch Waze and start navigation
let urlStr: String = "waze://?ll=\(location.latitude),\(location.longitude)&navigate=yes"
UIApplication.shared.openURL(URL(string: urlStr)!)
}
else {
// Waze is not installed. Launch AppStore to install Waze app
UIApplication.shared.openURL(URL(string: "http://itunes.apple.com/us/app/id323229106")!)
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With