Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
Line 46: | Line 46: | ||
"sampleText": ""}; | "sampleText": ""}; | ||
} | } | ||
+ | |||
+ | function initialize() { | ||
+ | // create the map | ||
+ | var myOptions = { | ||
+ | zoom: zoom, | ||
+ | center: new google.maps.LatLng(lat,lng), | ||
+ | backgroundColor: '#f0e0be', | ||
+ | mapTypeId: maptype | ||
+ | } | ||
+ | |||
+ | |||
+ | map = new google.maps.Map(document.getElementById("map_canvas"), | ||
+ | myOptions); | ||
+ | |||
+ | var S2Options = { | ||
+ | getTileUrl: function(coord, zoom) { | ||
+ | return "http://www.darkmatters.org/Map/MainMap/"+zoom+"_"+coord.x+"_"+coord.y+".jpg"; | ||
+ | }, | ||
+ | tileSize: new google.maps.Size(256, 256), | ||
+ | isPng: false | ||
+ | }; | ||
+ | |||
+ | var S2 = new google.maps.ImageMapType(S2Options); | ||
+ | S2.name = "Main Map"; | ||
+ | S2.maxZoom = 7; | ||
+ | S2.minZoom = 2; | ||
+ | map.mapTypes.set('S2', S2); | ||
+ | |||
+ | |||
+ | var dungeonOptions = { | ||
+ | getTileUrl: function(coord, zoom) { | ||
+ | return "http://www.darkmatters.org/Map/Dungeons/"+zoom+"_"+coord.x+"_"+coord.y+".jpg"; | ||
+ | }, | ||
+ | tileSize: new google.maps.Size(256, 256), | ||
+ | isPng: false | ||
+ | }; | ||
+ | |||
+ | var dungeons = new google.maps.ImageMapType(dungeonOptions); | ||
+ | dungeons.name = "Dungeons"; | ||
+ | dungeons.maxZoom = 7; | ||
+ | dungeons.minZoom = 2; | ||
+ | map.mapTypes.set('dungeons', dungeons); | ||
+ | |||
+ | |||
+ | map.setOptions({ | ||
+ | mapTypeControl: true, | ||
+ | mapTypeControlOptions: { | ||
+ | style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, | ||
+ | mapTypeIds: ['S2', 'dungeons'] | ||
+ | } | ||
+ | }); | ||
+ | |||
+ | // Make the link the first time when the page opens | ||
+ | makeLink(); | ||
+ | |||
+ | // Make the link again whenever the map changes | ||
+ | google.maps.event.addListener(map, 'maptypeid_changed', makeLink); | ||
+ | google.maps.event.addListener(map, 'center_changed', makeLink); | ||
+ | google.maps.event.addListener(map, 'bounds_changed', makeLink); | ||
+ | google.maps.event.addListener(map, 'zoom_changed', makeLink); | ||
+ | |||
+ | google.maps.event.addListener(map, 'click', function() { | ||
+ | lastmarker = null; | ||
+ | makeLink(); | ||
+ | infowindow.close(); | ||
+ | }); | ||
+ | // Read the data from example.xml | ||
+ | downloadUrl("example.xml", function(doc) { | ||
+ | var xmlDoc = xmlParse(doc); | ||
+ | var markers = xmlDoc.documentElement.getElementsByTagName("marker"); | ||
+ | for (var i = 0; i < markers.length; i++) { | ||
+ | // obtain the attribues of each marker | ||
+ | var lat = parseFloat(markers[i].getAttribute("lat")); | ||
+ | var lng = parseFloat(markers[i].getAttribute("lng")); | ||
+ | var point = new google.maps.LatLng(lat,lng); | ||
+ | var html = markers[i].getAttribute("description"); | ||
+ | var type = markers[i].getAttribute("type"); | ||
+ | var label = markers[i].getAttribute("label"); | ||
+ | // create the marker | ||
+ | var marker = createMarker(point,label,html,type); | ||
+ | } | ||
+ | // put the assembled side_bar_html contents into the side_bar div | ||
+ | document.getElementById("side_bar").innerHTML = side_bar_html; | ||
+ | // ========= If a parameter was passed, open the info window ========== | ||
+ | if (id) { | ||
+ | if (idmarkers[id]) { | ||
+ | google.maps.event.trigger(idmarkers[id],"click"); | ||
+ | } else { | ||
+ | alert("id "+id+" does not match any marker"); | ||
+ | } | ||
+ | } | ||
+ | if (index > -1) { | ||
+ | if (index < gmarkers.length) { | ||
+ | google.maps.event.trigger(gmarkers[index],"click"); | ||
+ | } else { | ||
+ | alert("marker "+index+" does not exist"); | ||
+ | } | ||
+ | } | ||
+ | }); | ||
+ | } | ||
addOnloadHook(initialize); | addOnloadHook(initialize); |
Revision as of 18:16, 15 December 2010
/* Any JavaScript here will be loaded for all users on every page load. */ if (mwCustomEditButtons) { mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/align_center.png", "speedTip": "Will center highlighted text.", "tagOpen": "<center>", "tagClose": "</center>", "sampleText": ""}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/S1internallink.jpg", "speedTip": "Make a Sacred Underworld Internal Link", "tagOpen": "[[Sacred:", "tagClose": "|]]", "sampleText": "Page Name you are linking to"}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/S2internallink.jpg", "speedTip": "Make a Sacred 2:Fallen Angel Internal Link", "tagOpen": "[[Sacred 2:", "tagClose": "|]]", "sampleText": "Type here what you want the link to be read as..."}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/questbutton.jpg", "speedTip": "Quest Template. Push the preview to see results.", "tagOpen": "{{subst:Quest", "tagClose": "}}", "sampleText": ""}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/chainquest.jpg", "speedTip": "ChainQuest Template. Push the preview to see results.", "tagOpen": "{{subst:ChainQuest", "tagClose": "}}", "sampleText": ""}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/place.jpg", "speedTip": "Place Template. Push the preview to see results.", "tagOpen": "{{subst:Place", "tagClose": "}}", "sampleText": ""}; mwCustomEditButtons[mwCustomEditButtons.length] = { "imageFile": "http://www.darkmatters.org/SacredWiki/images/buttons/npc.jpg", "speedTip": "NPC Template. Push the preview to see results.", "tagOpen": "{{subst:NPC", "tagClose": "}}", "sampleText": ""}; } function initialize() { // create the map var myOptions = { zoom: zoom, center: new google.maps.LatLng(lat,lng), backgroundColor: '#f0e0be', mapTypeId: maptype } map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var S2Options = { getTileUrl: function(coord, zoom) { return "http://www.darkmatters.org/Map/MainMap/"+zoom+"_"+coord.x+"_"+coord.y+".jpg"; }, tileSize: new google.maps.Size(256, 256), isPng: false }; var S2 = new google.maps.ImageMapType(S2Options); S2.name = "Main Map"; S2.maxZoom = 7; S2.minZoom = 2; map.mapTypes.set('S2', S2); var dungeonOptions = { getTileUrl: function(coord, zoom) { return "http://www.darkmatters.org/Map/Dungeons/"+zoom+"_"+coord.x+"_"+coord.y+".jpg"; }, tileSize: new google.maps.Size(256, 256), isPng: false }; var dungeons = new google.maps.ImageMapType(dungeonOptions); dungeons.name = "Dungeons"; dungeons.maxZoom = 7; dungeons.minZoom = 2; map.mapTypes.set('dungeons', dungeons); map.setOptions({ mapTypeControl: true, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, mapTypeIds: ['S2', 'dungeons'] } }); // Make the link the first time when the page opens makeLink(); // Make the link again whenever the map changes google.maps.event.addListener(map, 'maptypeid_changed', makeLink); google.maps.event.addListener(map, 'center_changed', makeLink); google.maps.event.addListener(map, 'bounds_changed', makeLink); google.maps.event.addListener(map, 'zoom_changed', makeLink); google.maps.event.addListener(map, 'click', function() { lastmarker = null; makeLink(); infowindow.close(); }); // Read the data from example.xml downloadUrl("example.xml", function(doc) { var xmlDoc = xmlParse(doc); var markers = xmlDoc.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { // obtain the attribues of each marker var lat = parseFloat(markers[i].getAttribute("lat")); var lng = parseFloat(markers[i].getAttribute("lng")); var point = new google.maps.LatLng(lat,lng); var html = markers[i].getAttribute("description"); var type = markers[i].getAttribute("type"); var label = markers[i].getAttribute("label"); // create the marker var marker = createMarker(point,label,html,type); } // put the assembled side_bar_html contents into the side_bar div document.getElementById("side_bar").innerHTML = side_bar_html; // ========= If a parameter was passed, open the info window ========== if (id) { if (idmarkers[id]) { google.maps.event.trigger(idmarkers[id],"click"); } else { alert("id "+id+" does not match any marker"); } } if (index > -1) { if (index < gmarkers.length) { google.maps.event.trigger(gmarkers[index],"click"); } else { alert("marker "+index+" does not exist"); } } }); } addOnloadHook(initialize);