https://google-developers.appspot.com/maps/documentation/javascript/examples/polyline-simpleから適応したコードで座標配列を使用してポリラインを作成しました
線を作成するための最初の (そしておそらく最悪の) 方法は、緯度/経度ポイントの膨大なリストでした。まだプログラミングのトリックを学んでいるので、申し訳ありません。私は地理学者であり、プログラマーではありません!
その線から標高を取得し、標高プロファイル グラフを作成したいと考えています。私はJSが初めてで、機能していないものをデバッグする方法がわかりません。パス配列にポリラインの座標を入力できないようです。
現在、bikeCourseCoordinates をパスとして使用される新しい配列にプッシュするように設定されています。bikeCourseCoordinates 配列を「パス」として使用してみましたが、それも機能しませんでした。
ここのオンライン(ただし、動作していないバージョン): http://geography.uoregon.edu:50000/bentesting/map_try3.html
function drawPath() {
// Create a new chart in the elevation_chart DIV.
chart = new google.visualization.ColumnChart(document.getElementById('elevation_chart'));
var path = new Array;
path.push(bikeCourseCoordinates);
// Create a PathElevationRequest object using this array.
var pathRequest = {
'path': path,
'samples': 256
}
// Initiate the path request.
elevator.getElevationAlongPath(pathRequest, plotElevation);
}
// Takes an array of ElevationResult objects, draws the path on the map
// and plots the elevation profile on a Visualization API ColumnChart.
function plotElevation(results, status) {
if (status == google.maps.ElevationStatus.OK) {
elevations = results;
// Extract the elevation samples from the returned results
// and store them in an array of LatLngs.
var elevationPath = [];
for (var i = 0; i < results.length; i++) {
elevationPath.push(elevations[i].location);
}
// Extract the data from which to populate the chart.
// Because the samples are equidistant, the 'Sample'
// column here does double duty as distance along the
// X axis.
var data = new google.visualization.DataTable();
data.addColumn('string', 'Sample');
data.addColumn('number', 'Elevation');
for (var i = 0; i < results.length; i++) {
data.addRow(['', elevations[i].elevation]);
}
// Draw the chart using the data within its DIV.
document.getElementById('elevation_chart').style.display = 'block';
chart.draw(data, {
width: 640,
height: 200,
legend: 'none',
titleY: 'Elevation (m)'
});
}
}