First add this line:
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true"> </script>
Second add these functions:
<script>
(function () {
var directionsService = new google.maps.DirectionsService(),
directionsDisplay = new google.maps.DirectionsRenderer(),
createMap = function (start) {
var travel = {
origin : (start.coords)? new google.maps.LatLng(start.lat, start.lng) : start.address,
destination :"38.936165,-76.996363",
travelMode : google.maps.DirectionsTravelMode.DRIVING
// Exchanging DRIVING to WALKING above can prove quite amusing :-)
},
mapOptions = {
zoom: 10,
// Default view: lat & lng of center of map, CUA Law School
center : new google.maps.LatLng(38.936165,-76.996363),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map-image"), mapOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("map-directions"));
directionsService.route(travel, function(result, status) {
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
};
// Check for geolocation support
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
// Success!
createMap({
coords : true,
lat : position.coords.latitude,
lng : position.coords.longitude
});
},
function () {
// Gelocation fallback: If can not get location
createMap({
coords : false,
address : "3600 John McCormack Rd., NE Washington DC 20064"
});
}
);
}
else {
// No geolocation fallback: Defaults CUA LAW
createMap({
coords : false,
address : "3600 John McCormack Rd., NE Washington DC 20064"
});
}
})();
</script>
<div id="map-container">
<div id="map-image"> </div>
<div id="map-directions"> </div>
</div>
Styles to make to control look and feel:
<p><style type="text/css">
#map-container {
overflow: hidden;
}
#map-image {
width: 500px;
height: 400px;
margin:auto;
}
#map-directions {
width: 500px;
margin:auto;
background:#FFF;
}
</style></p>
How to do the same thing with other mapping services:
Bing
No comments:
Post a Comment