Chelemby: Difference between revisions
From DQWiki
Jump to navigationJump to search
No edit summary |
mNo edit summary |
||
| Line 10: | Line 10: | ||
* A players guide to the city can be found [https://drive.google.com/open?id=0B12BfjlQDqeMbHJWTUlCWlJUN3M here].<br> | * A players guide to the city can be found [https://drive.google.com/open?id=0B12BfjlQDqeMbHJWTUlCWlJUN3M here].<br> | ||
* A detailed PDF layered map of Chelemby [https://drive.google.com/open?id=0B12BfjlQDqeMb1JBYlExU05rbW8 here].<br> | * A detailed PDF layered map of Chelemby [https://drive.google.com/open?id=0B12BfjlQDqeMb1JBYlExU05rbW8 here].<br> | ||
<br> | |||
<display_map> | |||
<div id="map"></div> | |||
<script> | |||
function initMap() { | |||
var map = new google.maps.Map(document.getElementById('map'), { | |||
center: {lat: 0, lng: 0}, | |||
zoom: 1, | |||
streetViewControl: false, | |||
mapTypeControlOptions: { | |||
mapTypeIds: ['moon'] | |||
} | |||
}); | |||
var moonMapType = new google.maps.ImageMapType({ | |||
getTileUrl: function(coord, zoom) { | |||
var normalizedCoord = getNormalizedCoord(coord, zoom); | |||
if (!normalizedCoord) { | |||
return null; | |||
} | |||
var bound = Math.pow(2, zoom); | |||
return '//mw1.google.com/mw-planetary/lunar/lunarmaps_v1/clem_bw' + | |||
'/' + zoom + '/' + normalizedCoord.x + '/' + | |||
(bound - normalizedCoord.y - 1) + '.jpg'; | |||
}, | |||
tileSize: new google.maps.Size(256, 256), | |||
maxZoom: 9, | |||
minZoom: 0, | |||
radius: 1738000, | |||
name: 'Moon' | |||
}); | |||
map.mapTypes.set('moon', moonMapType); | |||
map.setMapTypeId('moon'); | |||
} | |||
// 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 = 1 << zoom; | |||
// don't repeat across y-axis (vertically) | |||
if (y < 0 || y >= tileRange) { | |||
return null; | |||
} | |||
// repeat across x-axis | |||
if (x < 0 || x >= tileRange) { | |||
x = (x % tileRange + tileRange) % tileRange; | |||
} | |||
return {x: x, y: y}; | |||
} | |||
</script> | |||
<script async defer | |||
src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initMap"></script> | |||
</body> | |||
</display_map> | |||
<br> | |||
<br> | <br> | ||
[[File:Chelemby City.JPG|750px|left|thumb|Chelemby City]] | [[File:Chelemby City.JPG|750px|left|thumb|Chelemby City]] | ||
Revision as of 02:09, 2 September 2015
Chelemby
This large island is dominated by the human sea trading city state of Chelemby (which is a Protectorate of Destiny).
Their are two PDF documents for the City of Chelemby. These are:
<display_map>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 0, lng: 0},
zoom: 1,
streetViewControl: false,
mapTypeControlOptions: {
mapTypeIds: ['moon']
}
});
var moonMapType = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
var normalizedCoord = getNormalizedCoord(coord, zoom);
if (!normalizedCoord) {
return null;
}
var bound = Math.pow(2, zoom);
return '//mw1.google.com/mw-planetary/lunar/lunarmaps_v1/clem_bw' +
'/' + zoom + '/' + normalizedCoord.x + '/' +
(bound - normalizedCoord.y - 1) + '.jpg';
},
tileSize: new google.maps.Size(256, 256),
maxZoom: 9,
minZoom: 0,
radius: 1738000,
name: 'Moon'
});
map.mapTypes.set('moon', moonMapType);
map.setMapTypeId('moon');
}
// 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 = 1 << zoom;
// don't repeat across y-axis (vertically)
if (y < 0 || y >= tileRange) {
return null;
}
// repeat across x-axis
if (x < 0 || x >= tileRange) {
x = (x % tileRange + tileRange) % tileRange;
}
return {x: x, y: y};
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initMap"></script>
</body>
</display_map>