From GamingWiki
(51 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<includeonly> | <includeonly> | ||
+ | </includeonly> | ||
<html> | <html> | ||
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> | <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> | ||
Line 19: | Line 20: | ||
var geocoder; | var geocoder; | ||
var map; | var map; | ||
+ | var infowindow; | ||
+ | var markers = new Array(); | ||
function initialize() { | function initialize() { | ||
Line 28: | Line 31: | ||
} | } | ||
geocoder = new google.maps.Geocoder(); | geocoder = new google.maps.Geocoder(); | ||
+ | infowindow = new google.maps.InfoWindow({maxWidth: 256}); | ||
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); | map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); | ||
getMarkerList(); | getMarkerList(); | ||
Line 37: | Line 41: | ||
* Add a marker to the map | * Add a marker to the map | ||
*/ | */ | ||
− | function addMarker(latlng, title, | + | function addMarker(latlng, title, descId) { |
var marker = new google.maps.Marker({position:latlng, map: map, title:title}); | var marker = new google.maps.Marker({position:latlng, map: map, title:title}); | ||
− | + | google.maps.event.addListener(marker, "click", function() { | |
− | + | infowindow.setContent(document.getElementById(descId).innerHTML); | |
+ | infowindow.open(map,marker); | ||
}); | }); | ||
− | |||
} | } | ||
/** | /** | ||
* Add a marker with a lat/lng pair | * Add a marker with a lat/lng pair | ||
*/ | */ | ||
− | function addMarkerByLatLng(lat, lng, title, | + | function addMarkerByLatLng(lat, lng, title, descId) { |
var latlng = new google.maps.LatLng(lat, lng); | var latlng = new google.maps.LatLng(lat, lng); | ||
− | addMarker(latlng, title, | + | addMarker(latlng, title, descId); |
} | } | ||
Line 55: | Line 59: | ||
* Add markers by address | * Add markers by address | ||
*/ | */ | ||
− | function addMarkerByAddress(address, title, | + | function addMarkerByAddress(address, title, descId) { |
if (geocoder) { | if (geocoder) { | ||
geocoder.geocode({'address':address}, function(results, status) { | geocoder.geocode({'address':address}, function(results, status) { | ||
if (status == google.maps.GeocoderStatus.OK) { | if (status == google.maps.GeocoderStatus.OK) { | ||
var latlng = results[0].geometry.location; | var latlng = results[0].geometry.location; | ||
− | addMarker(latlng, title, | + | addMarker(latlng, title, descId); |
} else { | } else { | ||
alert(address + " not found: "+results[0]+"; "+status); | alert(address + " not found: "+results[0]+"; "+status); | ||
Line 72: | Line 76: | ||
*/ | */ | ||
function getMarkerList() { | function getMarkerList() { | ||
− | + | for ( i = 0; i < markers.length; i++ ) { | |
− | + | marker = markers[i]; | |
− | + | if (typeof marker['address'] === 'undefined' || marker['address'] == '') { | |
− | + | addMarkerByLatLng(marker['lat'], marker['lng'], marker['name'], marker['node']); | |
− | + | } else { | |
− | + | addMarkerByAddress(marker['address'], marker['name'], marker['node']); | |
− | + | } | |
− | ) | + | } |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
// --></script> | // --></script> | ||
</html> | </html> | ||
− |
Latest revision as of 17:55, 17 March 2011