<!DOCTYPE html>
|
<html>
|
<head>
|
<meta charset="utf-8">
|
<title>GMaps.js — Elevation Routes</title>
|
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
|
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
|
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
|
<script type="text/javascript" src="../gmaps.js"></script>
|
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.3.0/bootstrap.min.css" />
|
<link rel="stylesheet" type="text/css" href="examples.css" />
|
<script type="text/javascript">
|
var map;
|
var mousemarker = null;
|
|
// Load the Visualization API and the piechart package.
|
google.load("visualization", "1", {packages: ["columnchart"]});
|
|
$(document).ready(function(){
|
map = new GMaps({
|
el: '#map',
|
lat: -12.043333,
|
lng: -77.028333,
|
zoom: 12
|
});
|
|
//load google visualization chart
|
chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
|
|
var polygone = map.drawRoute({
|
origin: [-12.044012922866312, -77.02470665341184],
|
destination: [-12.090814532191756, -77.02271108990476],
|
travelMode: 'walking',
|
strokeColor: '#131540',
|
strokeOpacity: 0.6,
|
strokeWeight: 6,
|
callback : function(polygones){
|
|
//elevation for the path
|
map.getElevations({
|
locations : polygones.overview_path,
|
path: true,
|
callback : function (result, status){
|
if (status == google.maps.ElevationStatus.OK) {
|
|
var elevations = result;
|
|
//set the google visualization
|
var data = new google.visualization.DataTable();
|
data.addColumn('string', 'Sample');
|
data.addColumn('number', 'Elevation');
|
for (var i = 0; i < result.length; i++) {
|
data.addRow(['', elevations[i].elevation]);
|
}
|
|
//add to the dom
|
document.getElementById('chart_div').style.display = 'block';
|
chart.draw(data, {
|
width: 340,
|
height: 200,
|
legend: 'none',
|
titleY: 'Elevation (m)',
|
focusBorderColor: '#00ff00'
|
});
|
|
//add mouseover
|
google.visualization.events.addListener(chart, 'onmouseover', function(e) {
|
if (mousemarker == null) {
|
mousemarker = map.addMarker({
|
lat: elevations[e.row].location.lat(),
|
lng: elevations[e.row].location.lng()
|
});
|
} else {
|
mousemarker.setPosition(elevations[e.row].location);
|
}
|
});
|
}
|
}
|
});
|
}
|
});
|
});
|
</script>
|
</head>
|
<body>
|
<h1>GMaps.js — Elevation Routes</h1>
|
<div class="row">
|
<div class="span11">
|
<div id="map"></div>
|
</div>
|
<div class="span6">
|
<p>With GMaps.js you can calculate the elevation for a route like this:</p>
|
<pre>map.getElevations({
|
locations : [[-12.040397656836609,-77.03373871559225], [-12.040248585302038,-77.03993927003302], [-12.050047116528843,-77.02448169303511], [-12.044804866577001,-77.02154422636042]],
|
path: true,
|
callback : function (result, status){
|
if (status == google.maps.ElevationStatus.OK) {
|
console.log(result, status);
|
}
|
}
|
});</pre>
|
<div id="chart_div"></div>
|
</div>
|
</div>
|
</body>
|
</html>
|