Si su campus no es muy grande, puede considerar definir manualmente todas las rutas de polilíneas para cada permutación, de modo que si tiene 4 edificios A, B, C y D, deberá definir 6 rutas :
A:B, A:C, A:D, B:C, B:D, C:D
Después, simplemente construir algo de lógica básica de JavaScript, que cuando eligió la construcción del punto A y C como la construcción de partida como destino, oculta todos los polilíneas y mostrar la A: línea C solamente. También puede usar el polyline methods de Google para obtener la longitud en metros de cada ruta, si es necesario.
Esta es una tabla corta de la cantidad de rutas que tendría que definir, en función del número de edificios tiene:
+-------------+--------+
| Buildings | Routes |
|-------------+--------+
| 5 | 10 |
| 10 | 45 |
| 15 | 105 |
| 20 | 190 |
| 25 | 300 |
+-------------+--------+
Como se puede ver, lo que realmente se sale de control como el número de los edificios se elevan, entonces yo diría que esta opción solo es posible hasta cierto punto. Al menos tienes suerte ya que el orden de las permutaciones no es importante, suponiendo que las personas puedan recorrer cada ruta en ambas direcciones.
Nota interesante: me di cuenta de que el Ottawa demo que ha proporcionado no está haciendo ningún llamadas AJAX, cuando se solicite para las direcciones. Por lo tanto, hay una buena posibilidad de que estén haciendo lo mismo que se sugirió anteriormente.
ACTUALIZACIÓN:
Aquí se demostración de trabajo mediante el v3 Maps API, que espero pueda ayudarte a empezar:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps Campus</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 550px; height: 400px"></div>
<div>Start:
<select id="start">
<option>Building 1</option>
<option>Building 2</option>
<option>Building 3</option>
</select>
</div>
<div>End:
<select id="end">
<option>Building 1</option>
<option>Building 2</option>
<option>Building 3</option>
</select>
</div>
<input type="button" onclick="drawDirections();" value="GO" />
<script type="text/javascript">
var mapOptions = {
mapTypeId: google.maps.MapTypeId.TERRAIN,
center: new google.maps.LatLng(47.690, -122.310),
zoom: 12
};
var map = new google.maps.Map(document.getElementById("map"),
mapOptions);
// Predefine all the paths
var paths = [];
paths['1_to_2'] = new google.maps.Polyline({
path: [
new google.maps.LatLng(47.656, -122.360),
new google.maps.LatLng(47.656, -122.343),
new google.maps.LatLng(47.690, -122.310)
], strokeColor: '#FF0000'
});
paths['1_to_3'] = new google.maps.Polyline({
path: [
new google.maps.LatLng(47.656, -122.360),
new google.maps.LatLng(47.656, -122.343),
new google.maps.LatLng(47.690, -122.270)
], strokeColor: '#FF0000'
});
paths['2_to_3'] = new google.maps.Polyline({
path: [
new google.maps.LatLng(47.690, -122.310),
new google.maps.LatLng(47.690, -122.270)
], strokeColor: '#FF0000'
});
function drawDirections() {
var start = 1 + document.getElementById('start').selectedIndex;
var end = 1 + document.getElementById('end').selectedIndex;
var i;
if (start === end) {
alert('Please choose different buildings');
}
else {
// Hide all polylines
for (i in paths) {
paths[i].setOptions({ map: null });
}
// Show the route
if (typeof paths['' + start + '_to_' + end] !== 'undefined') {
paths['' + start + '_to_' + end].setOptions({ map: map });
}
else if (typeof paths['' + end + '_to_' + start] !== 'undefined') {
paths['' + end + '_to_' + start].setOptions({ map: map });
}
}
}
</script>
</body>
</html>
Captura de pantalla:

El problema que estoy teniendo es doble. Si bien veo definitivamente el mérito de su demostración aquí, y ME ENCANTARÍA que fuera así de simple, la tarea en cuestión requiere que los estudiantes puedan obtener, digamos, de Clase A a Clase B. Las clases se acercan un tanto, y aunque estoy seguro de que podría construir los caminos para la construcción del edificio, me dicen que hay aprox. 50 edificios. Lo he intentado y lo he intentado, y parece que no hay forma de que haga lo ideal, que básicamente sería crear una 'ruta' personalizada que el mapa de Google reconocerá como un área accesible. Es posible que tenga que llegar a las rutas de dibujo a mano. – Douglas