|
|
| (265 intermediate revisions not shown) |
| Line 1: |
Line 1: |
| | <html> | | <html> |
| - | <title>Fragoria Map</title>
| |
| - | <link rel="stylesheet" href="/maps/documentation/javascript/examples/default.css" />
| |
| | <link rel="stylesheet" href="/maptiles/noimageshadow.css"> | | <link rel="stylesheet" href="/maptiles/noimageshadow.css"> |
| - | <script src="/maptiles/js?v=3.exp&sensor=false"></script>
| |
| | | | |
| - | <script> | + | <script type="text/javascript" src="/maptiles/js?v=3.exp&sensor=false"></script> |
| - | var moonTypeOptions = {
| + | <script type="text/javascript" src="/mapdata/markerwithlabel.js"></script> |
| - | getTileUrl: function(coord, zoom) {
| + | <script type="text/javascript" src="/wiki/skins/common/fmap.js"></script> |
| - | var normalizedCoord = getNormalizedCoord(coord, zoom);
| + | |
| - | if (!normalizedCoord) {
| + | |
| - | return null;
| + | |
| - | }
| + | |
| - | var bound = Math.pow(2, zoom);
| + | |
| - | return '/maptiles/' + zoom + '/' + normalizedCoord.y + '_' + normalizedCoord.x + '.jpg';
| + | |
| - | },
| + | |
| - | tileSize: new google.maps.Size(256, 256),
| + | |
| - | maxZoom: 4,
| + | |
| - | minZoom: 1,
| + | |
| - | radius: 1738000,
| + | |
| - | name: 'Fragoria'
| + | |
| - | };
| + | |
| | | | |
| - | var moonMapType = new google.maps.ImageMapType(moonTypeOptions);
| + | <style> |
| | + | .maplabels { |
| | + | color: #000; |
| | + | // font-family: 'Comic Sans MS', cursive, sans-serif; |
| | + | line-height: 1em; |
| | + | font-size: 13px; |
| | + | text-shadow: 0px 0px 2px white; |
| | + | font-weight: bold; |
| | + | border: 0px solid black; |
| | + | background: transparent url('/wiki/images/e/eb/Backgroundgradient.png'); |
| | + | background-size: 100% 100%; |
| | + | background: radial-gradient(white, rgba(255, 255, 255, .6), rgba(255, 255, 255, .0), rgba(255, 255, 255, 0)); |
| | + | } |
| | + | </style> |
| | | | |
| - | function initialize() {
| + | <script> |
| - | var Fragotown = new google.maps.LatLng(-89.623848,33.001326);
| + | $('.map_canvas').css('width', '100%').css('width', '+=1px'); |
| - | var mapOptions = {
| + | |
| - | center: Fragotown,
| + | |
| - | zoom: 4,
| + | |
| - | streetViewControl: false,
| + | |
| - | mapTypeControlOptions: {
| + | |
| - | mapTypeIds: ['moon']
| + | |
| - | }
| + | |
| - | };
| + | |
| - | | + | |
| - | var map = new google.maps.Map(document.getElementById('map_canvas'),
| + | |
| - | mapOptions);
| + | |
| - | map.mapTypes.set('moon', moonMapType);
| + | |
| - | map.setMapTypeId('moon');
| + | |
| - | | + | |
| - | // Bounds
| + | |
| - | var strictBounds = new google.maps.LatLngBounds(
| + | |
| - | new google.maps.LatLng(-89.957,-125),
| + | |
| - | new google.maps.LatLng(65,125)
| + | |
| - | );
| + | |
| - | | + | |
| - | // Listen for the CENTER_CHANGED event
| + | |
| - |
| + | |
| - | google.maps.event.addListener(map, 'center_changed', function() {
| + | |
| - | if (strictBounds.contains(map.getCenter())) return;
| + | |
| - | | + | |
| - | // We're out of bounds - Move the map back within the bounds
| + | |
| - | | + | |
| - | var c = map.getCenter(),
| + | |
| - | x = c.lng(),
| + | |
| - | y = c.lat(),
| + | |
| - | maxX = strictBounds.getNorthEast().lng(),
| + | |
| - | maxY = strictBounds.getNorthEast().lat(),
| + | |
| - | minX = strictBounds.getSouthWest().lng(),
| + | |
| - | minY = strictBounds.getSouthWest().lat();
| + | |
| - | | + | |
| - | if (x < minX) x = minX;
| + | |
| - | if (x > maxX) x = maxX;
| + | |
| - | if (y < minY) y = minY;
| + | |
| - | if (y > maxY) y = maxY;
| + | |
| - | | + | |
| - | map.setCenter(new google.maps.LatLng(y, x));
| + | |
| - | });
| + | |
| - | | + | |
| - | // Limit the zoom level
| + | |
| - | google.maps.event.addListener(map, 'zoom_changed', function() {
| + | |
| - | if (map.getZoom() < minZoomLevel) map.setZoom(minZoomLevel);
| + | |
| - | });
| + | |
| - | | + | |
| - | | + | |
| - | var FragotownMarker = new google.maps.Marker({
| + | |
| - | position: new google.maps.LatLng(-89.623848,33.001326),
| + | |
| - | map: map,
| + | |
| - | draggable:true,
| + | |
| - | title:"Fragotown"
| + | |
| - | });
| + | |
| - | | + | |
| - | var DarkKonungMarker = new google.maps.Marker({
| + | |
| - | position: new google.maps.LatLng(-89.128166,16.829451),
| + | |
| - | map: map,
| + | |
| - | icon: (url: 'images/beachflag.png',size: new google.maps.Size(21, 20)),
| + | |
| - | title:"Dark Konung's Tomb"
| + | |
| - | });
| + | |
| - |
| + | |
| - | | + | |
| - | google.maps.event.addListener(FragotownMarker, 'dragend', function(evt){
| + | |
| - | document.getElementById('current').innerHTML = '<p>Marker dropped: ( ' + evt.latLng.lat().toFixed(6) + ',' + evt.latLng.lng().toFixed(6) + ')</p>';
| + | |
| - | });
| + | |
| - | | + | |
| - | google.maps.event.addListener(FragotownMarker, 'dragstart', function(evt){
| + | |
| - | document.getElementById('current').innerHTML = '<p>Currently dragging marker...</p>';
| + | |
| - | });
| + | |
| - | | + | |
| - | }
| + | |
| - | | + | |
| - | // Normalizes the coords that tiles repeat across the x axis (horizontally)
| + | |
| - | // like the standard Google map tiles.
| + | |
| - | function getNormalizedCoord(coord, zoom) {
| + | |
| - | var y = coord.y;
| + | |
| - | var x = coord.x;
| + | |
| - | | + | |
| - | // tile range in one direction range is dependent on zoom level
| + | |
| - | // 0 = 1 tile, 1 = 2 tiles, 2 = 4 tiles, 3 = 8 tiles, etc
| + | |
| - | var tileRange = 2 << zoom;
| + | |
| - | | + | |
| - | // repeat across y-axis (vertically)
| + | |
| - | if (y < 0 || y >= tileRange) {
| + | |
| - | // y = (y % tileRange + tileRange) % tileRange;
| + | |
| - | return null;
| + | |
| - | }
| + | |
| - | | + | |
| - | // repeat across x-axis
| + | |
| - | if (x < 0 || x >= tileRange) {
| + | |
| - | // x = (x % tileRange + tileRange) % tileRange;
| + | |
| - | return null;
| + | |
| - | }
| + | |
| - |
| + | |
| - | return {
| + | |
| - | x: x,
| + | |
| - | y: y
| + | |
| - | };
| + | |
| - | }
| + | |
| - | | + | |
| - | // Origins, anchor positions and coordinates of the marker
| + | |
| - | // increase in the X direction to the right and in
| + | |
| - | // the Y direction down.
| + | |
| - | var GreenDungeon = {
| + | |
| - | url: '/wiki/images/c/c3/Greendungeon.png',
| + | |
| - | // This marker is 20 pixels wide by 32 pixels tall.
| + | |
| - | size: new google.maps.Size(21, 20),
| + | |
| - | // The origin for this image is 0,0.
| + | |
| - | origin: new google.maps.Point(10.5,20),
| + | |
| - | // The anchor for this image is the base of the flagpole at 0,32.
| + | |
| - | anchor: new google.maps.Point(10.5,20)
| + | |
| - | };
| + | |
| - | // Shapes define the clickable region of the icon.
| + | |
| - | // The type defines an HTML <area> element 'poly' which
| + | |
| - | // traces out a polygon as a series of X,Y points. The final
| + | |
| - | // coordinate closes the poly by connecting to the first
| + | |
| - | // coordinate.
| + | |
| - | var shape = {
| + | |
| - | coords: [0, 0, 0, 20, 21, 20, 21, 0],
| + | |
| - | type: 'poly'
| + | |
| - | };
| + | |
| | </script> | | </script> |
| - |
| |
| - | <body onload="initialize()">
| |
| | <center> | | <center> |
| - | <div id="current">Coordinates</div> | + | <div> |
| - | <div style="box-shadow: 2px 2px 5px #999999;border: 1px solid black;width: 97%; height: 585px;background-image:url('/wiki/images/1/1f/Background.jpg');" id="map_canvas">
| + | <div style="border:33px solid transparent;border-image: url(/wiki/images/d/d9/Mapborder.png) 36 round;z-index:9999999999;"> |
| - | </div>
| + | <div style="border:1px solid black;border-radius: 18px;border: width: 100%; height: 530px;background-image:url('/wiki/images/1/1f/Background.jpg');margin: -23px -24px -24px -24px;" id="map_canvas"> |
| | + | </div></div> |
| | + | <div id="current"> </div> |
| | + | <input type="button" value="Show All" onclick="showallMarkers();showallPolylines(999);"> |
| | + | <input type="button" value="Road Stones" onclick="displayMarkers(100);showallPolylines(999);"> |
| | + | <input type="button" value="Green Dungeons" onclick="displayMarkers(10);hideallPolylines();"> |
| | + | <input type="button" value="Red Dungeons" onclick="displayMarkers(20);hideallPolylines();"> |
| | + | <input type="button" value="Hide All" onclick="hideallMarkers();hideallPolylines();"> |
| | </center> | | </center> |
| - | </body>
| + | |
| | </html> | | </html> |