使用 Google 地图 Swift 4.0 在两个位置之间绘制路线方向
Drawing route direction between two locations using Google Map Swift 4.0
我无法将 JSON 响应渲染到地图上。
我正在尝试制作一个应用程序,您可以在其中输入目的地,google 地图会根据您当前的位置制定路线。
我可以在控制台中成功打印出 JSON 响应
但我不确定如何使用多段线制作路线。
网上看的都过时了
如有帮助将不胜感激。
如果你能给我指点教程那就太好了!
谢谢:)
我会这样回答:
func drawPath()
{
let origin = "\(43.1561681),\(-75.8449946)"
let destination = "\(38.8950712),\(-77.0362758)"
let url = "https://maps.googleapis.com/maps/api/directions/json?origin=\(origin)&destination=\(destination)&mode=driving&key=API_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
do {
let json = try 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
}
}
catch {
print("ERROR: not working")
}
}
}
我无法将 JSON 响应渲染到地图上。 我正在尝试制作一个应用程序,您可以在其中输入目的地,google 地图会根据您当前的位置制定路线。
我可以在控制台中成功打印出 JSON 响应
但我不确定如何使用多段线制作路线。
网上看的都过时了
如有帮助将不胜感激。
如果你能给我指点教程那就太好了!
谢谢:)
我会这样回答:
func drawPath()
{
let origin = "\(43.1561681),\(-75.8449946)"
let destination = "\(38.8950712),\(-77.0362758)"
let url = "https://maps.googleapis.com/maps/api/directions/json?origin=\(origin)&destination=\(destination)&mode=driving&key=API_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
do {
let json = try 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
}
}
catch {
print("ERROR: not working")
}
}
}