我正在一個網站上提供山峯愛好者的山峯個人名單。谷歌地圖pathRequest不適用於多段線
我被困在谷歌地圖polyline
自年齡的功能(pathRequest)
。
我無法理解,因爲此代碼是來自許多來源的副本,並且遺憾的是,Firefox調試與Google地圖無法很好地協作......讓事情變得最糟糕。
這裏的頁面: http://www.mes-sommets.fr/ajouter-un-sommet/
要進行測試,您需要輸入"adresse départ"
(開始)and
「住址Arrivée酒店」(完)+ 「曼努埃爾」 mode in option
「itinéraire」`。
在自動完成中單擊"adresse arrivée"
時會顯示錯誤。
對於兩個選項:
- automatique (google map direction service) -- OK
- manuel (polyline) -- KO
然後我打電話相同功能:
- distance calculation getDistance(path)
- elevation calculation plotElevation(results, status)
模式AUTOMATIQUE(谷歌地圖方向服務):
var path = result.routes[0].overview_path; getDistance(path);
模式manu EL(折線):
var polyline_path = polyline.getPath(); getDistance(polyline_path);
功能getDistance的:
功能getDistance的(路徑){
變種米= google.maps.geometry.spherical.computeLength(路徑) ;
var km = m/1000;document.getElementById(「ninja_forms_field_34」)。value = km.toFixed(2)+「km」;
VAR pathRequest = { '路徑':路徑, '樣品':256}elevator.getElevationAlongPath(pathRequest,plotElevation);
};
功能plotElevation:
功能plotElevation(結果,狀態){如果(狀態== google.maps.ElevationStatus.OK){
var deniv_positif = 0; var deniv_negatif = 0; var elev = results[0].elevation; for (var i = 0; i < results.length; i++) { if ((results[i].elevation - elev) > 0) { deniv_positif = deniv_positif + (results[i].elevation - elev); } else { deniv_negatif = deniv_negatif + (results[i].elevation - elev); } elev = results[i].elevation; } document.getElementById("ninja_forms_field_31").value = "+" + deniv_positif.toFixed(0) + "/" + deniv_negatif.toFixed(0) + " m" ;
}}
如果我沒有提供足夠的代碼,請告訴我任何建議。希望它是好的。
最好的問候,
本傑明
你好鄧肯,這很完美!謝謝。 – user3759261
酷!如果它是有用的,請隨時[接受答案](http://stackoverflow.com/help/accepted-answer)爲正確的 – duncan