2016-11-22 45 views
1

我正在實施應用程序中的功能,用戶可以在其中查看從當前位置到目的地位置的路線。當用戶點擊一個按鈕,我打開谷歌地圖應用這樣如果Google地圖尚未運行,則Google地圖不會正確顯示路線

if UIApplication.sharedApplication().canOpenURL(NSURL(string:"comgooglemaps://")!) { 

      let urlStr = String(format: "comgooglemaps://?saddr=&daddr=%f,%f&directionsmode=driving&zoom=14", lat, lng) 
      let url = NSURL(string:urlStr)! 
      UIApplication.sharedApplication().openURL(url) 

} 

通過保留saddr PARAM空的,所以谷歌地圖可以接我的當前位置。但如果Google地圖尚未運行,Google地圖不會首次顯示路線。它只顯示我的當前位置,並出現加載圈。但如果谷歌地圖正在運行,並且我打開地圖以顯示路線,它就可以正常工作。

有沒有人遇到同樣的問題?任何幫助將不勝感激。感謝

回答

1

令相機= GMSCameraPosition.cameraWithLatitude(0,經度:-165,縮放:2) 讓MapView類= GMSMapView.mapWithFrame(CGRectZero,相機:相機)

let path = GMSMutablePath() 
path.addLatitude(-33.866, longitude:151.195) // Sydney 
path.addLatitude(-18.142, longitude:178.431) // Fiji 
path.addLatitude(21.291, longitude:-157.821) // Hawaii 
path.addLatitude(37.423, longitude:-122.091) // Mountain View 

let polyline = GMSPolyline(path: path) 
polyline.strokeColor = UIColor.blueColor() 
polyline.strokeWidth = 5.0 
polyline.map = mapView 

self.view = mapView 

}

+0

作爲每谷歌文檔 – raheem

+0

感謝您的答案@raheem。但是這段代碼在應用程序中繪製了地圖,但我正在討論將Google地圖作爲單獨的應用程序打開。 – umali

+0

UIApplication * app = [UIApplication sharedApplication];您可以使用以下代碼來創建自定義地址:自定義地址空間,自定義地址空間,自定義地址空間,自定義地址空間,自定義地址空間,自定義地址空間,自定義地址空間,自定義地址空間。 ,self.destinationLocation.latitude,self.destinationLocation.longitude] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; \t [app openURL:url]; – raheem