The Wiki for Tale 6 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.

If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.

Rogarian/GoogleMapsPageRewrite

From ATITD6
Jump to navigationJump to search

Google Maps is no more! (A brief history)

After Google deprecated version 2 of the Google Maps API all of the maps on the wiki broke. After along and drawn out process of trying to convert everything to version 3 of the Google Maps API the thought occurred to me that Google would deprecate v3 of the mapping API in the next 3-6 years and the cycle would repeat! So rather than trusting Google again (fool me once) I decided to look for a stand alone mapping API that wouldn't be dependent on any external services.


After looking at various APIs I settled on the Leaflet API. It's small, fast and most importantly: completely self contained. After learning the new API and using Shroomdar 2 as my test bed I was able to get every working. After that I started looking for a MediaWiki mapping extension that used Leaflet and discovered MultiMaps. By running a local MediaWiki wiki I was able to modify the extension to use the ATITD tile set and coordinate system.


The next step was to install it on the ATITD.org server. That failed. The MultiMaps extension used conventions that required a newer version of PHP than the ATITD.org server was running. So rather than using third-party PHP packages for CentOS (which would mean having to manually apply security patches and updates) or doing a complete OS upgrade/new install I decided to write a brand spanking new MediaWiki extension from scratch using the new API that would work with the current PHP version on the server. I've tried to make it MOSTLY compatible with the prior Google Map extension. But there are differences. Hopefully these bugs will be slowly ironed and and we'll gain additional functionality. This page is an attempt to document the new extension.


Known Issues

Currently these problems still exist:

  • Zoomed and cropped maps do not center properly
  • Some markers are stretched and may be off center
  • Only Egyptian tile sets are usable (Can't use Openmap or Google Maps tilesets)
  • Only the T6 map is currently available All maps EXCEPT Tale 4A are available.
  • Markers require all information on 1 line vs split on various line (dealing with the popup window when clicked)
  • Marker tooltips are not functional


Egypt Maps 1.0 Introduction

This wiki now runs a newly written mapping extension by me for MediaWiki. The <egypt> tag allows wiki users to create zoom-able, pan-able maps of Egypt with customized markers.

Simply add the following on a wiki page to create a default map:

<egypt>
</egypt>

Or for backwards compatibility:

<googlemap>
</goolemap>

This will generate a map like:


Markers

In the content of the tag, you can define one marker per line. Each line may or may not start with an icon name in parentheses. The line should then have the latitude (x), then a comma, optionally a space, then the longitude (y), then a comma, then text for the popup window. The popup text can include wiki mark-up (and commas) (not functional at the moment).


A list of markers is available on Mayanahs map page. ATITD.org now hosts local copies of most of the icons Mayanah graciously provided. These are used by default if the icons tag is not provided; the icons follow the same naming convention on Mayanahs page. Click here to show all locally hosted markers: http://www.atitd.org/wiki/tale5/images/markers or visit Rogarian/GoogleMapMarkerTest which shows all 1461 locally stored pins (Warning: will be VERY slow!).


Marker Usage Example:

<egypt zoom="2" height="512" lon="0" showposition="yes">
(GH) 700,600,here goes the title
400, 400, here goes the title, it can contain commas but not wiki markup
(S) 100, 100, Popup Text Goes here
<br><br>
</egypt>



Map Customization / Tag Attributes

To customize the map you can set various tags (attributes). Legal attributes are (boldface items are defaults):

Command Desc Options
tale Which Tale to display? Legal values: 1, 2, 3, 4, 4b, 5 and 6. NOTE: Tale 4 does not work.
width Width of the map in pixels. Defaults to 512 pixels.
height Height of the map in pixels. Defaults to 1024 pixels.
lat The center latitude (x) on the map. Defaults to 1024.
lon The center longitude (y) on the map. Defaults to 0.
zoom Default zoom level. Game Map Legal values: 1 to 8 (2 is default, only the T5 map contains data on levels 7 and 8).
showposition or showregion Show x,y coords under the mouse and region name. Currently only Tale 6 maps are supported. Legal values: yes and no.
icons URL template for custom markers. Use "{label}" where the name of the icon will be inserted; defaults to "/wiki/tale5/images/markers/marker{label}.png".
icon URL for markers without an icon specified. Defaults to "/wiki/tale5/images/markers/marker.png" marker.png
iconsize Height and width of the icons Defaults to: 32x32


Commands no longer supported

Command Desc Options
cursor Which mouse cursor to use on the map? Legal values: pointer (hand), default (standard mouse cursor) and crosshair.
stroke Width of paths, in pixels. Does not work in game maps.
scale Show the scale? Legal values are yes and no.
overview Show the inset navigation map? Legal values are yes and no.
selector Show the map/hybrid/satellite selector Legal values are yes and no.
type The type of map to display. Game Maps: game - Shard A, gameb - Shard B, Normal Google Maps: normal (or, equivalently, map) - Normal Google Map, terrain, hybrid, and satellite.
controls Zoom and navigation controls. Legal values: small creates +/- zoom buttons, medium has zoom buttons and pan buttons, large has pan buttons with a sliding scale for zoom, and none has no buttons.
doubleclick What to do when the user double-clicks? Legal values: recenter or zoom.
scrollwheel Define how the scroll wheel behaves. Legal values: nothing or zoom.
zoomstyle How does the map zoom? Legal values: fast and smooth, also known as continuous zooming (only works in some browsers).


All attributes are optional.


Customized Icons

You can host your own collection of icons on your server, but note that they'll have the same anchor points as ATITD.org's default icon (32x32). Check out Mapki's collection of icon images for a bunch of icons you can use. To use your icons, add an icon attribute to your googlemap-tags like this

<egypt lat="42.711618" lon="-73.205112" zoom="2" controls="small" 
 icon="http://myserver.com/standardmarker.png" 
 icons="http://myserver.com/markers/marker{label}.png">

Mayanah has some instructions for using an alternate set of icons map here and a set of Mine Specific icons and Quarry Specificon the same page.


Example Maps

Good Default Settings

<egypt zoom=1 width=256 height=512>
</egypt>


Map Drawing Examples

<egypt mouseoverpopup=yes>
line -1000,4790:-1000,8190:0,8190:0,4790:-1000,4790  color:'#ff0000', clickable:false
rect 2500,6800:4800,4600 color:'#00ff00', clickable:false, weight:1
poly 2300,-5500:3200,-3400:4500,-6400 color:'#ff00ff', clickable:false
circ 0,0 450 color:'#000000', clickable:false
</egypt>

---

Map Boundries Examples


---

All of Egypt, Square

<egypt zoom=1 width=512 height=512>
</egypt>


All Tales in Table Design

Tale 5 Shard A Tale 4 Shard B Tale 4 Shard A


Tale 3 Tale 2 Tale 1