我想在我的iPhone應用程序中集成Apple Maps來顯示兩個位置之間的路線。但它不會顯示任何路線&將在控制檯中簡單打印大量消息。iOS的蘋果地圖可用性美國以外美國
我位於印度孟買。當我試圖使用iPhone上的官方地圖應用程序來搜索路線時,它給了我警告,'沒有找到路線'!
當我在模擬器中使用美國的兩個預定義位置時,它會正確繪製路線以及替代路線。所以我得出的結論是,蘋果地圖服務在美國以外地區是非常有限的(特別是在印度)。
我想盡可能使用本機服務,但現在看起來很難。有沒有人有關於這個問題的想法&它是這種情況,那麼其他的選擇是什麼?
以下是來自這兩種情況下的代碼示例:
印度(無結果):
let request: MKDirectionsRequest = MKDirectionsRequest()
request.source = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 19.02, longitude: 72.85), addressDictionary: nil))
request.destination = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 19.12, longitude: 73.85), addressDictionary: nil))
request.transportType = MKDirectionsTransportType.automobile;
request.requestsAlternateRoutes = true
let directions = MKDirections(request: request)
directions.calculate { [unowned self] response, error in
guard let unwrappedResponse = response else { return }
for route in unwrappedResponse.routes {
self.mapView.add(route.polyline)
self.mapView.setVisibleMapRect(route.polyline.boundingMapRect, animated: true)
}
}
美國(給了正確的路線)
let request: MKDirectionsRequest = MKDirectionsRequest()
request.source = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 40.71, longitude: -74.00), addressDictionary: nil))
request.destination = MKMapItem(placemark: MKPlacemark(coordinate: CLLocationCoordinate2D(latitude: 37.78, longitude: -122.41), addressDictionary: nil))
request.transportType = MKDirectionsTransportType.automobile;
request.requestsAlternateRoutes = true
let directions = MKDirections(request: request)
directions.calculate { [unowned self] response, error in
guard let unwrappedResponse = response else { return }
for route in unwrappedResponse.routes {
self.mapView.add(route.polyline)
self.mapView.setVisibleMapRect(route.polyline.boundingMapRect, animated: true)
}
}
雖然研究,我發現此鏈接:http://www.apple.com/in/ios/feature-availability/
在地圖:地圖部分印度還沒有上市,所以我不認爲我將能夠使用此功能在我的應用程序:(
我所熟悉的谷歌地圖,但有沒有其他的選擇來解決這個問題,從本地服務的最小轉移?
您可以在蘋果地圖本身做到這一點。只需從google api(「http://maps.google.com/maps?output=dragdir&saddr=%@&daddr=%@」)獲取路線點並使用該點在蘋果地圖中繪製路徑即可。 –
@SuhasPatil謝謝,但之後使用Google地圖處理所有其他任務也是我認爲的更好的選擇,對不對? – demonofthemist
是啊當然...那會更好..! –