Extension:Google Maps/Developers

From MediaWiki.org
Jump to: navigation, search

Introduction - Installation - Editor's Map icon - Coding instructions - Compatibility - Languages - Developers - Talk

Do you want to make Google Maps Extension even better? The best place to start is the code, as you might have guessed. It's fairly well-documented. The two files you should care about are EditorsMap.js and GoogleMaps.php.

To get the latest and greatest version of Google Maps Extension, check out a copy from SVN:

svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/GoogleMaps

Here are some ideas for projects:

  • Get the Editor's Map working with Safari. If you have a Mac, remove the checks for "Apple Computer, Inc." and try the Editor's Map. There are a number of, shall we say, "quirks" which render the editor's map unusable. I'm not sure what's going on here.
  • Properly nail MediaWiki Bug #2257
  • An "Undo" button for the editor's map. And a "redo" button while you're at it. Actions to support:
    • Setting a caption
    • Setting a map attribute
    • Moving the map
    • Moving an icon
Not the easiest project, but I think you'll come to appreciate JavaScript's function-ality.
  • Icon "themes". What I have in mind are several sub-folders ("themes") that ship with the extension. Each theme has a dozen or so PNG icons to choose from. On the editor's map, you can choose a theme, and then select the icon that will be placed next. You will also need to extend the map syntax to support themes and icon names. Bonus points if you persuade Google to make a standard for embedding anchor points inside PNG files, as described here.
It'd be cool if people started swapping icon theme packs for this.
  • Links outside the <googlemap> that pop up info balloons in the map. Not sure the best way to proceed here. I'm thinking you'll need a hash will all icons in all maps on a page indexed on the caption name, and then define another tag, e.g.,
<googlemaplink marker="The [[town hall]]">Click here to see the town hall</googlemaplink>