J'essaie d'obtenir un itinéraire entre la coordonnée d'origine et la coordonnée de destination.iOS) Obtenir un itinéraire à partir de deux coordonnées à partir de directions google api
J'ai référencé stackoverflow.
Alors Mon code est ci-dessous:
let url = "https://maps.googleapis.com/maps/api/directions/json?origin=37.496375,126.9546903&destination=37.48121,126.9505233&mode=walking&key=MY_KEY"
Alamofire.request(url).responseJSON
{ response in
print(response.request) // original URL request
print(response.response) // HTTP URL response
print(response.data) // server data
print(response.result) // result of response serialization
let json = JSON(data: response.data!)
let routes = json["routes"].arrayValue
for route in routes
{
let routeOverviewPolyline = route["overview_polyline"].dictionary
let points = routeOverviewPolyline?["points"]?.stringValue
let path = GMSPath.init(fromEncodedPath: points!)
let polyline = GMSPolyline.init(path: path)
polyline.map = self.mapView
}
}
Mais par conséquent, response.data est ci-dessous:
{
"status" : "ZERO_RESULTS",
"available_travel_modes" :
[
"TRANSIT"
],
"geocoded_waypoints" : [
{},
{}],"routes" : []}
A propos de cette question, je cherchai et constaté qu'il peut être causé lorsque la coordonnée ne peut pas être convertie en l'adresse.
Mais j'ai vérifié que les deux coordonnées sont converties dans la bonne adresse par 'CLGeocoder' (reverseGeocodeLocation).
Enfin, j'ai vérifié sur 'maps.google.com' que les mêmes coordonnées sont adressées et que l'itinéraire me sera montré.
Comment puis-je résoudre ce problème?
obtenez-vous la route avec une autre origine, la destination? –
J'ai testé une paire différente (new_origin, new_destination), mais le résultat est le même, je vais mettre à jour l'URL exacte que j'ai demandée. – LKM