2016-06-13 74 views
0

我的應用谷歌地圖方向 API繪製任意兩個位置之間的路線(由來 - 方向的位置)的用戶引腳它。谷歌地圖API的方向返回結果爲零利用斯威夫特

我用這樣的方式API:

https://maps.googleapis.com/maps/api/directions/json?origin=(fromLat),(fromLng)&destination=(toLat),(toLng)&mode=(travelMode)&departure_time=now&alternatives=true&language=(lang

的問題是有時候響應返回零個結果,就像這樣:

{ 
    "geocoded_waypoints": [ 
    {}, 
    {} 
    ], 

    "routes": [], 

    "status": "ZERO_RESULTS" 
} 

我搜索了很多,但沒有任何有用的結果。

任何人都遇到過這個問題?

可能是這個問題,因爲我用的是免費的API?

我將感謝任何幫助。

謝謝。

+0

如果它只失敗了幾次,是不是有可能實際上沒有路線?你不能搜索那些不存在的東西。 – BridgeTheGap

回答

2

如果不存在路徑,則返回相同的值。

請參閱此鏈接:Path Information

希望這有助於!

UPDATE:

儘量隱蔽經緯度到地址並且將它傳遞的網址,它會解決這個問題。 CLGeocoder可能會幫助你做同樣的事情。

+0

沒有,當我嘗試在Google地圖網站相同的位置上,它給我的路線 – Rawan

+0

可以傳遞一些信息,比如哪一個環節你正在訪問 –

+0

這是鏈接: HTTPS://maps.googleapis。com/maps/api/directions/json?origin = 18.6548634,33.097382&destination = 36.7547311,30.3368614&mode = Driving&language = en – Rawan

1

這是因爲目的地的經緯度錯誤。另外路徑不適用於請求的旅行模式。

+0

不幸的是,它不是 – Rawan

+0

改變旅行模式。 –

+0

我嘗試了所有模式:S – Rawan

0

試試這個谷歌API:

https://maps.google.com/maps?saddr=%@,%@&daddr=%@,%@

通緯度,經度以上API。你會得到結果。

+0

我在哪裏通過lats,lngs?在saddr,daddr – Rawan

+0

saddr是開始點,daddr是目標點。 [NSString的stringWithFormat:@ 「https://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f」,self.startinglatitude,self.startinglongitude,self.destinationlatitude,self.destinationlongitude] –

+0

[NSString的stringWithFormat:@ 「https://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f」,self.startinglatitude,self.startinglongitude,self.destinationlatitude,self.destinationlongitude] –