Geolocation Google Maps
by sjmcpherson
HTML
<script src="//maps.googleapis.com/maps/api/js"></script>
<div id="map"></div>
<div id="demo"></div>
CSS
#map {
width: 500px;
height: 400px;
display: block;
}
JavaScript
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
var latlon = position.coords.latitude + "," + position.coords.longitude;
var d = new Date();
var myLatlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
console.log(d.toLocaleTimeString() + " " + latlon);
//updateLocation(myLatlng, d.toLocaleTimeString());
locationMarker.setPosition(myLatlng);
setInfoWindow(locationMarker, locationInfoWindow, d.toLocaleTimeString());
//var img_url = "http://maps.googleapis.com/maps/api/staticmap?center="+latlon+"&zoom=14&size=400x300&sensor=false";
//document.getElementById("mapholder").innerHTML = "<img src='"+img_url+"'>";
}
function myTimer() {
var d = new Date();
document.getElementById("demo").innerHTML += " " + d.toLocaleTimeString() + "<br/>";
getLocation();
}
function setDestination(location, name) {
var marker = new google.maps.Marker({
position: location,
map: map,
//icon: icon
});
markers.push(marker);
var infowindow = new google.maps.InfoWindow();
setInfoWindow(marker, infowindow, name);
}
var locationMarker, locationInfoWindow;
function setLocation(location, name) {
locationMarker = new google.maps.Marker({
position: location,
map: map,
//icon: icon
});
markers.push(locationMarker);
locationInfoWindow = new google.maps.InfoWindow();
//setInfoWindow(locationMarker, "location");
var myVar = setInterval(myTimer, 10000);
}
function fitBounds() {
if (!addressLoad) {
var bounds = new google.maps.LatLngBounds();
for (i = 0; i < markers.length; i++) {
bounds.extend(markers[i].getPosition());
}
// Don't zoom in too far on only one marker
if (bounds.getNorthEast().equals(bounds.getSouthWest())) {
var...