有沒有方法可以確定某個特定地址是否沿着x英里內的路線行駛? Google maps API中是否支持此功能?有沒有方法可以確定某個特定地址是否沿着x英里內的路線行駛?
我有一個地址數據庫,我試圖找出哪些位置沿着給定的路線,由谷歌地圖API確定。
有沒有方法可以確定某個特定地址是否沿着x英里內的路線行駛? Google maps API中是否支持此功能?有沒有方法可以確定某個特定地址是否沿着x英里內的路線行駛?
我有一個地址數據庫,我試圖找出哪些位置沿着給定的路線,由谷歌地圖API確定。
您可以在GDirectionsOptions可選參數上將getPolyline選項設置爲GDirections load請求。這將爲您提供路線的折線數據。
一旦你有了這些數據,你可以遍歷多段線中的每個點,並確定到每個自己的數據點的距離(你可以使用GLatLng distanceFrom方法來計算距離)。
一旦你的每條數據點的距離最短,你就可以根據一定的容差找出該點是否在路徑上。
編輯:
雖然很纖細反覆調用的GLatLng distanceFrom方法(這只是一個實用的方法來得到兩個點之間的距離),我意識到我的答案簡化了問題。爲了獲得距離路線的精確距離,您需要確定最近兩點之間的多段線距離(而不僅僅是距離每個點的距離)。
比爾查德威克有this page底部的「點到多義線或多邊形的距離」代碼,這可能是有用的。
我認爲你的意思是distanceFrom而不是getDistance。 getDistance是一個GDirections方法,並且您不希望爲折線上的每個頂點執行GDirections調用,因爲這會非常緩慢並很快進入您的GDirections配額。 – 2010-01-30 21:04:07
不是。我在說* GLatLng * * getDistance *這是一種實用方法來檢查兩個地理點之間的距離。 – RedBlueThing 2010-01-30 22:24:25
哎呀...我剛剛意識到混亂的原因。我的意思是GLatLng上的* distanceFrom *方法。 – RedBlueThing 2010-01-30 23:39:57