我尝试使用自己的API在我的应用中使用Waze
实施导航:here。
我想设置custom coordinates
中设置的array
然后将它们放入代码
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")!)
}
}
我已经尝试过设置不同类型的阵列,但没有成功使其工作。所以,如果你可以帮我设置自定义数组,保持纬度和经度可以正常使用代码,那将是非常棒的
你的帮助非常有帮助,
提前谢谢。
答案 0 :(得分:8)
Waze
个应用仅支持目标latitude
和longitude
。
waze://?ll=<lat>,<lon>&navigate=yes
CLLocationCordiates
预计有两个参数latitude
和longitude
,即CLLocationDegrees
类型。 CLLocationDegrees
只是Double
值。
let location = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
如果您有双值,则无需构造为CLLocationCoordinate2D
。您可以使用相同的function
- &gt;您在问题中提到的navigate()
将值传递给以下函数以打开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")!)
}
}
答案 1 :(得分:0)
创建用于保持lat和long的自定义数组:
NSMutableArray *latLongArray = [[NSMutableArray alloc]init];
[latLongArray addObject :[NSDictionary dictionaryWithObjectsAndKeys:lat,@"latitude",long,@"longitude",nil]];
[latLongArray addObject :[NSDictionary dictionaryWithObjectsAndKeys:lat,@"latitude",long,@"longitude",nil]];
[latLongArray addObject :[NSDictionary dictionaryWithObjectsAndKeys:lat,@"latitude",long,@"longitude",nil]];
替换lat long值。
答案 2 :(得分:0)
在使用iOS SDK 9.0和更高版本进行编译时,必须使用以下内容更新应用程序的属性列表文件以包含Waze:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>waze</string>
</array>