Swift 3を使い始めるにあたり、Google Maps APIの指示でルートを構築する際に問題があります。 "|" SwiftのGoogle Maps APIの指示3
が理由では動作しません:私のルートはいくつかのウェイポイントを持っており、スウィフト3 URLに。助言がありますか?
Swift 3を使い始めるにあたり、Google Maps APIの指示でルートを構築する際に問題があります。 "|" SwiftのGoogle Maps APIの指示3
が理由では動作しません:私のルートはいくつかのウェイポイントを持っており、スウィフト3 URLに。助言がありますか?
こんにちは。SWIFTについてあまり知りませんでしたが、私は客観Cで同じ問題を抱えていたし、私は以下の何かをしたし、私のために働いた、
NSMutableCharacterSet *alphaNumSymbols = [NSMutableCharacterSet characterSetWithCharactersInString:@"[email protected]#$&*()-_+=[]:;',/?."];
[alphaNumSymbols formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:alphaNumSymbols];
NSURL *directionsURL = [NSURL URLWithString:urlString];
希望これはで
を助けますスウィフト、スウィフト3では
var alphaNumSymbols = CharacterSet(charactersInString: "[email protected]#$&*()-_+=[]:;',/?.")
alphaNumSymbols!.formUnion(CharacterSet.alphanumerics)
urlString = urlString.addingPercentEncoding(withAllowedCharacters: alphaNumSymbols)!
var directionsURL = NSURL(string: urlString)!
、以下が
let url_string = "URL STRING"
let url = URL(string:url_string.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed))
012を助けました
方向googlemaps apiを使用する場合は、パラメータ配列にウェイポイントを送信する必要があります。だからパイプはもはや問題を引き起こさない。ここ
var wayPointsString = "optimize:true"
if waypointsForRequest.count > 0 {
for location in waypointsForRequest {
wayPointsString = "\(wayPointsString)|\(location.coordinate.latitude),\(location.coordinate.longitude)"
}
}
let parameters : [String : String] = ["key" : self.directionsApikey, "sensor" : "false", "mode" : "driving", "alternatives" : "true", "origin" : "\(origin.coordinate.latitude),\(origin.coordinate.longitude)", "destination" : "\(destination.coordinate.latitude),\(destination.coordinate.longitude)", "waypoints" : wayPointsString]
let url = URL(string: "https://maps.googleapis.com/maps/api/directions/json?")
Alamofire.request(url!, method:.get, parameters: parameters)
.validate(contentType: ["application/json"])
.responseJSON { response in
if response.value != nil {
let json = JSON(response.value!)
}
}
何SWIFT 3での問題?その言語に関連していない純粋なURLです。問題は何か分かりますか? – CodeChanger
のalamofireでこのリクエストは期待どおりに機能しますが、今では私はいくつかのウェイポイントを送信していますが、ただ1つの "leg"しか返さない –
リクエストしているURLをログに記録しましたか?それは問題の言及と同じですか、あるいは元のものと異なっていますか? – CodeChanger