Extension talk:Maps/LQT Archive 1

No download link
Where is the code? The download location isn't mentioned. --Ryan lane 03:14, 16 July 2009 (UTC)

Found it in the announcement email; added it to the page. --Ryan lane 03:20, 16 July 2009 (UTC)

I do now see the documentation says not released. Heh. Oh well, too late ;).

Ok. Removed again. --Ryan lane 03:23, 16 July 2009 (UTC)

Multiple markers
Is it possible to show more than one display_point on a map without using the query functions of Semantic Maps? I see a display_points function is in the New Proposals section.

In an attempt to get multiple markers on a map, I installed Semantic Forms, but in trying example code with queries, I get no output on the wiki (and the wiki debug output doesn't show anything obvious). Perhaps I have the precedence wrong in LocalSettings.php, in which case here is the relevant snippet of that file:

# for SemanticMediaWiki include_once("$IP/extensions/SemanticMediaWiki/includes/SMW_Settings.php"); enableSemantics('tig.colorist.org'); # according to the Extension:Semantic Forms page, it goes here: include_once('extensions/SemanticForms/includes/SF_Settings.php'); require_once( "$IP/extensions/Maps/Maps.php" ); # Semantic Maps require_once( "$IP/extensions/SemanticMaps/SemanticMaps.php" );

Thank you for this extension, it will replace both GoogleMaps and the googlemap WikiWidget that I've been using.

--Robling 06:11, 25 July 2009 (UTC)

It is currently not possible to have multiple points on one map in Maps (hence the proposal for those new parser functions). For Semantic Maps to show up multiple queried coordinates onto one map, you do not need to have Semantic Forms. SF will simply make it considerably easier to insert coordinates, but is in no way required.

Both the multiple point parser functions and custom base layers for OpenLayers are apparently in high demand, and since the former should be available before the later, this will move up on my to-do list (possible for the 0.3 releases).

To solve your problem of no markers getting displayed on your map, I suggest you post your ask query here, which is probably the source of your problem.

--Jeroen De Dauw 15:12, 25 July 2009 (UTC)

Thank you for the prompt reply. The ask query is copied from the Semantic Maps examples page:

--Robling 16:47, 25 July 2009 (UTC)

Well, if the map doesn't show anything, it means their are either no results, or the results do not contain coordinate data. Make sure you have items in the Locations category with a 'Has coordinates' property of type 'geographical coordinate'. In a while I'll modify my demo wiki a little to make the query stuff more clear.

--Jeroen De Dauw 20:47, 25 July 2009 (UTC)

Where can I find out more about how the Locations category should be set up? I'm sheepishly afraid I missed that step in setting up Semantic Maps. Thanks in advance.

--Robling 22:48, 25 July 2009 (UTC)

Note that the category doesn't need to be named like that. It's just regular SMW stuff. If you have problems with this, you can have a look at the SMW manual. Try some stuff out with demo values and a table as result format. Once you can do that, you shouldn't have any problems doing the same with Semantic Maps.

--Jeroen De Dauw 11:15, 26 July 2009 (UTC)

Thanks Jeroen.

--Robling 14:50, 27 July 2009 (UTC)

cURL rather than URL in GoogleMaps API call
Maps not working for me. I get an error saying that URL file access is not allowed on my server. I investigated and the advice seems to be that file URL access is disabled by my hosting company for very good security reasons. I have been told that cURL should be used instead and this is a very simple change. Could this be done to Maps_GoogleGeocoder.php? Otherwise a lot of people will not be able to use this extension. http://www.timshowers.com/2008/08/php-geocoding-tutorial-with-the-google-maps-api-part-one/

Thanks! Mitchelln 13:40, 5 August 2009 (UTC)

Hey,

Thanks for the suggestion. You have a valid point. This will be resolved in the geocoders in version 0.3.

Cheers Jeroen De Dauw 19:36, 5 August 2009 (UTC)

Hey,

This issue has been resolved in the now published 0.3 release.

Cheers Jeroen De Dauw 22:00, 16 August 2009 (UTC)

Fantastic. I now have working maps :) Thanks a lot! Mitchelln 9:40, 18 August 2009 (UTC)

Google Flash API ?
Hi Jeroen

I recently came across the documentation pages for the Google Flash API. Some of the demos were impressive.

http://code.google.com/apis/maps/documentation/flash/

Is this something you are planning on incorporating eventually ?

- Laurent Alquier

Hey Laurent,

Thanks for the suggestion. Yahoo! Maps also has a flash API btw. Currently this stuff has low priority though, but it might get implemented in the distant future.

Cheers

-- Jeroen De Dauw 11:39, 12 September 2009 (UTC)

UK Postcodes consistently out on map.
Hi, I'm seeing a problem I also saw on the old version of this extension. UK Postcodes return a point that is consistantly about 0.5 miles out from the real location. However, if I type the postcode directly into google maps it shows correctly. Example: service=googlemaps The Postcode is for an address on Boundary Row, but it shows up on a nearby street called The Cut. The offset always seems to be about the same - to the left by about 0.5 miles. Any ideas? Also, I notice you get a different result depending on whether the postcode is SE1 8HP rather than SE18HP. A postcode parser problem?
 * 1) display_address:
 * coordinates=
 * zoom=15
 * width=650
 * height=500
 * autozoom=off

Hey,

The geocoding and parsing of those postal codes is done by the used geocoding service. Maps does not do any work on that part, and therefore can not really fix the problem.

Cheers

-- Jeroen De Dauw 11:40, 12 September 2009 (UTC) But it is right if I use GoogleMaps directly! The fact that the marker is consistently out by the same direction/distance seems to indicate some error introduced by the extension. As it is this extension is useless with UK postcodes :( How is the field passed to the geocoder? Have a go with the examples I gave above to see the problem. Try the postcode direct and then via the extension. You will see the error. Mitchelln 15:50, 19 October 2009 (GMT)

No result at all
Hi, I installed Maps and Semantic Maps but I don't get any result at all. With display_point with openlayers I get a grey area but that's the only sign that something is happening. I think I did everything that should be done: - Copy files to extension maps - Added 'includeonce' things in the right order - GoogleMapsKey after that

Or did I mis something? --AdSvS 14:38, 5 September 2009 (UTC)

Hey,

What version of Maps/SM are you using? Can you provide a link to your wiki? It's a little hard to determine your problem with so little info.

Cheers

--Jeroen De Dauw 21:05, 5 September 2009 (UTC)

The site is www.denhout.eu. I'm in the process of migrating from Semantic Google Maps, so you'll see some of both. I tried the Moscow example from your site and that didn't work. So it can't be that I had some bad parameter values or something like that. BTW: have a look at your recent changes. --AdSvS 09:20, 6 September 2009 (UTC)

Hey,

Can you also provide a link to a page where it is going wrong?

Cheers

--Jeroen De Dauw 10:42, 7 September 2009 (UTC)

Hi Jeroen, I created a user Jeroen, pw: Jeroen2009. On the user page I copied the Moscow example and as you can see nothing is happening. It should work also on 'Houts Archief' pages, of which you can choose one from the mainpage.

Thanks! --AdSvS 17:44, 7 September 2009 (UTC)

My results with version 0.4 (first try) was just a grey Map area. I'm trying to use OpenLayers only solution (without Google key and semantic extensions).

LocalSettings.php includes: require_once( "$IP/extensions/Maps/Maps.php" ); ... $egMapsDefaultGeoService = 'geonames';

Firebug errors: initOLSettings is not defined initOLSettings(200, 100); \n

and initOpenLayer is not defined initOpenLayer('open_layer_1', 24.93...341667, 60.1755556, , , '')], 500)\r\n

Solved: I was trying to require_once( "$IP/extensions/Maps/Maps.php" ) in LocalSettings.php before $wgScriptPath was set up!

Files missing?
Hey,

Just noticed you simply appear to be missing some JS files. I suggest you delete the extensions/maps directory(and maybe the one of SM to) and re-upload the extension.

--Jeroen De Dauw 17:44, 9 September 2009 (UTC)


 * I think the problem is actually that your $wgScriptPath setting in LocalSettings.php is incorrect - it should be "", not "/wiki". Yaron Koren 19:10, 12 September 2009 (UTC)

Hi,

I re-uploaded Maps and SM and upgraded SMW to 1.4.3 and I checked the $wgScriptPath setting in LocalSettings.php. But still no result.

Although indeed some js files were missing. What else could it be? --AdSvS 20:10, 11 October 2009 (UTC)

Hey,

I don't think any files are missing. It sounds like you are having the same problem as discussed here though. In any case, try using the latest version of Maps and SM (the last commit on SVN trunk, versioned 0.3.5 a3). This version uses relative paths for all references, instead of absolute ones.

Cheers

-- Jeroen De Dauw 21:23, 11 October 2009 (UTC)

Openlayers more general integration
Hello!

I'm interested in an openlayers object integrated into mediawiki pages but accessing our own map servers (this is an archaeological project creating site descriptions in a mediawiki system).

It would be nice to be able to include dynamic maps in mediawiki showing maps, layers (vector and raster) FROM OUR OWN servers (Geoserver).

I've read the Maps extension documentation and it seems that it mainly support google, yahoo and other map providers and geocoding and basic display. This is fine - but I need to access our own servers. Is it possible or targeted at all?

thanks in advance

Robert Kuszinger

Hey,

Maps indeed does not support the use of your own data sources ATM. This functionality is on the to-do list though. It's also true that Maps only supports basic display (markers) ATM. Adding new features to Maps that enable more complex display are also a to-do, but much less urgent.

If this is a high priority for you, and you are willing to (let others) do work on this functionality, be sure to contact me about it, so efforts can be coordinated.

Cheers

-- Jeroen De Dauw 16:53, 16 September 2009 (UTC)

If this is not or will not be supported other way, look at the file /extensions/Maps/OpenLayers/OpenLayerFunctions.js

I copied the following lines case 'openlayers' : case 'open-layers' : if (!usedOLWMS){ newLayer = new OpenLayers.Layer.WMS( 'OpenLayers WMS', 'http://labs.metacarta.com/wms/vmap0', {layers: 'basic', 'sphericalMercator':true} ); usedOLWMS = true; } break;

and created own modified case (add also var usedGSOLWMS):

case 'geoserver_osm' :

if (!usedGSOLWMS){ newLayer = new OpenLayers.Layer.WMS( 'Geoserver OSM WMS', 'http://10.0.0.46:8080/geoserver/wms', {layers: 'osm_suomi:planet_osm_line', format: 'image/png', transparent: 'true'}, {'isBaseLayer': false} ); usedGSOLWMS = true; } break;

In the WMS request EPSG:900913 is used as default (not the best solution in my case, but this way I got an own overlay top of osm map). --JK

Hey,

That's correct. You can indeed easily do it that way. If you do though, please send over the code so it can be added to the extension so everyone can use it :)

Cheers

-- Jeroen De Dauw 20:25, 18 November 2009 (UTC)

Some public OGC Web Services to try :)

I guess most of them support EPSG:4326 but not EPSG:900913. Is there an easy and correct way to use other projections than EPSG:900913 or EPSG:4326 so that markers will be geocoded, placed and calculated correctly with Maps extension? I think OL can can do that easily with proj4js, see http://trac.openlayers.org/wiki/Documentation/Dev/proj4js

-- JK

Default parameter 'address=' required?
Hi, I installed version 0.3.4 of Maps and SemanticMaps on my wiki to replace SemanticGoogleMaps.

While it works ok, I found that it doesn't display any maps if some of the 'default parameters' (like address= or coordinates=) aren't explicitely given. This happens on my wiki as well as with the examples on the wiki.bn2vs.com/wiki/Maps or on the sandbox there.

So

is working while

doesn't display any map

Especially the openlayer examples on wiki.bn2vs.com are all missing the 'address=' parameter and therefore not displaying at all but simply showing an empty gray square.

Optimale 11:47, 17 September 2009 (UTC)

Hey,

You are right, that's not working, and it should be. It's a bug introduced in the latest release, 0.3.4, and has already been put onto the to-do list for the next release. I've fixed it already, since it was a minor issue, but haven't committed it yet since I'm having some problems with my SVN client. Hope to get it committed to SVN by this weekend.

Until then I suggest you do use the address= parameter. There's nothing wrong about that, and only typing a few extra chars.

Cheers

-- Jeroen De Dauw 21:54, 17 September 2009 (UTC)

Hey,

The bug fix has been commited to svn trunk.

Cheers

-- Jeroen De Dauw 15:46, 20 September 2009 (UTC)

HTML or Wikitext in labels
Hi, how can I use HTML or Wikitext for e.g. links in labels of points? I want something like the following:

But whenever characters like the apostrophe (') or the equals sign (=) is used, the display stops working. I'd like to have even more complex HTML or wikitext as label text, though. How can this be achieved?

Hey,

I'm aware of this problem. Quite a lot of characters can't be used in the parameter values sadly enough. (I'll probably add a list to the docs when I update them for the next version.) This seems to be a limitation of wikitext, non specific to Maps, but definitely more obvious in case of the title and label parameters.

I'm open to suggestions on how to solve this issue, cause ATM I don't see any non-hacky way to get around them.

Cheers

-- Jeroen De Dauw 16:58, 3 October 2009 (UTC)

Mandatory configuration parameters for relocated extension directory
If somebody uses the Short-URL feature for MediaWiki and/or has relocated the extension directory, then one has to supply access to the CSS and JS files from a couple of SMW extensions and the Maps extension, otherwise they won't work. I created a new directory called "mw-extensions" in my root and placed symlinks to all the affected extensions.

Here's what I had to add to my LocalSettings.php to make it all work again: $smwgScriptPath   = '/mw-extensions/SemanticMediaWiki'; $sfgScriptPath    = '/mw-extensions/SemanticForms'; $smgScriptPath    = '/mw-extensions/SemanticMaps'; $smgIncludePath   = $smgScriptPath; $egMapsScriptPath = '/mw-extensions/Maps'; $egMapsIncludePath = $egMapsScriptPath;

If you don't do this, then you'll get JavaScript errors for calls to addLoadEvent and/or initializeGoogleMap when trying to use the Maps extension.

Hey,

Are you suggesting a setting for the extensions dir should be created, or is already present and should be used in the mentioned extensions?

Cheers

-- Jeroen De Dauw 17:05, 3 October 2009 (UTC)


 * The functionality is already there, it's just documented nowhere. In case of the Maps extension, one has to set $egMapsScriptPath and $egMapsIncludePath to some URL that can be reached on the web server. In case of Semantic Maps, it's $smgScriptPath and $smgIncludePath. A little strange, maybe, is that there are two variables, while for the other SMW extensions there is typically only one. What's the difference between ScriptPath and IncludePath?

Hey,

You can change it that way, but it's not ideal. If you change your extensions directory (why would you want to do this actually?), you should only edit one variable, and not one for every extension.

The $egMapsIncludePath contains the full path, versus the relative one of $egMapsScriptPath. $egMapsIncludePath is indeed redundant though. Thanks for noticing.

Cheers

-- Jeroen De Dauw 10:34, 4 October 2009 (UTC)


 * Not my decision, it's the default when one installs MediaWiki in Debian or Ubuntu through their package repositories. The mediawiki files are in /var/lib, the extension directory as well in its own directory, the web-visible files are in /usr/share with symlinks to /var/lib and the actual MediaWiki configuration and extension directory that is being used is in /etc. They tried to abstract the MediaWiki software and extensions by this and make extension loading more modular, too. It's a nice attempt, but it breaks a lot of things, and I am not too happy with it.

I've removed this redundancy. It won't be present any more in next release.

Cheers

-- Jeroen De Dauw 11:03, 4 October 2009 (UTC)

Small maps
Hi, I see that you're busily working on the extensions. There is one more thing that I want to report: At the moment it is not possible to display maps with a width of less than about 280 pixels, because the copyright message that is being displayed below and the navigation controls on the upper left edge will reach out of the map frame. Would it be possible to add support so that maps can be displayed that are only about 100 or 150 pixels wide?

Hey,

I don't think so. It would be illogical if you could remove the copyright, and if the API held into account small maps, you wouldn't have a problem in the first place. Which mapping service are you talking about anyway? Google Maps? If so, maybe v3 of their API will fix this. It's been in beta for quite a while, and as soon as it goes stable, I'll put it into Maps.

Cheers

-- Jeroen De Dauw

The obsolete Google Maps extension had an option to only use small controls. That helped a bunch. I resize the copyright message with inline CSS (Not remove, resize! So that it won't break my tables)

-- Skerit 22:46, 18 October 2009 (UTC)

The problem isn't that there's a copyright message, the problem is that the footer includes a link to the Google Maps/Earth Terms of Service which is non-breaking with the copyright line. If the link can be removed somehow, or the footer divided into two lines so that the map doesn't need to be as wide to span the entire message, I'd be glad to know about this possibility.

Hey,

What extension are you referring to? Google Maps (this one isn't obsolete) or Semantic Google Maps? In either case I can have a look at how those handled small maps, and most likely implement the same solution.

Cheers

-- Jeroen De Dauw

Hello Jeroen, you can try http://194.19.110.207 - This is a wiki I have installed from scratch, and still the same issue.

Hey,

Are you Skerit? Or are you the same person that started the topic about queries not working on the talk page of SM? Or both? Please provide your name when posting, so I know who I'm replying to.

In this instance I can not accurately determine what your trying to say since I don't know which other posts belong to you.

Cheers

-- Jeroen De Dauw

Templates
Hi, when I try to use a template tag as the coordinate it doesn't show the map or even No coordinates provided for the map. as I would expect. --Jhoogy 03:52, 24 October 2009 (UTC)

Regarding UK Postcodes consistently out on map (above!)
Hopefully this is very simple. It looks like the extension isn't either passing the last character of the search string to the geocoder or is not handling the space character properly. This also explains why I get different results with the extension depending on whether I put the space between the postcode sections or not (SE1 8HP vs SE18HP), whereas GoogleMaps doesn't. I suspected the string was getting mangled somehow. The effect can easily be seen with the given examples if you compare them in Googlemaps and the Maps call:

So hopefully this can easily be fixed now please. Postcodes is the primary way people in the UK search for or display locations. If it doesn't work then they cannot use it. Thanks! --mitchelln 15:20, 29th October 2009 (GMT)

Hey,

Does ,UK give you the output you want or not (as plain text, not nested in a map)?

Also, you are using display_address with a coordinates parameter. You should either use display_point for this, or (recommended) remove the coordinates= and geocode function.

Cheers

-- Jeroen De Dauw

Thanks for replying. Actually it is a Semantic Property - ,UK}}. This returns okay in plain text as SE1 8HP,UK on the page. SE1 8HP,UK gives the right point when entered into GoogleMaps direct. But results in the wrong point when used in the Maps extension.

I tried display_point. Same result. Point is not in the right place on the map. I've also tried display_address: service=googlemaps }} But I get the same result. The point is not in the right place. Even tried hard coding it to address=SE1 8HP,UK. It is still in the wrong place. Should be Boundary Row, but it's half a mile out. Same result as my original usage in fact. As I say, put SE1 8HP,UK into GoogleMaps and it shows the right place. It's not just this example either, all postcodes I've tried with this extension are not showing the right place. This is a real show stopper for using it in the UK
 * 1) display_address:
 * address=,UK
 * zoom=12
 * width=650
 * height=500
 * autozoom=off

This isn't just restricted to UK postcodes either. US zip codes (e.g. CO 80111) and French postal codes do not work either.

Thanks for your help with this. Hopefully we can get to the bottom of it! --mitchelln 11:40, 4th November 2009 (GMT)

Hey,

Can you give me an example UK postcode, a link to maps.google.com with a marker where it should be, and also one to the same location, but with the markers (manually put) off? That'll enable me to do some testing myself, since ATM I simply can't determine if it's off or not.

Cheers

-- Jeroen De Dauw

Multiple Point Map Form
Does anyone know of any site that has a form that accepts multiple points on a map?

It's quite straight forward to manually use the display points parser but much more user friendly to do it with a form. Although, I can't quite get a form to do it...been working on it at scratchpad referata here.

kpf 10/30/2009

Hey,

The functionality you are describing is not supported by Maps or Semantic Maps.

In what way would you want to use such a form? Only SM supports mapping forms, but you placed this on the talk page of Maps. So do you want to use it in a semantic way or not?

Cheers

-- Jeroen De Dauw 16:49, 1 November 2009 (UTC)

Hi Jeroen,

What I'm trying to do is use the parser functions and  in conjunction with a semantic form so it is more user friendly for people to enter points. Rather than having someone manually enter the following:

I've done this with a single point but what if someone wanted to enter another point on the same map  that's what I'm trying to get a form to accept. If you can do it with it seems you should be able to do it with, the question is how... The answer might be an additional field parameter, Multiple points, which will provide a 'Save Point' button inside the form. If you look at the example here, when you enter the data in the form the point doesn't hold that data (except for coordinates) until you hit save page. When you hit save page and you're at the page the point holds Coordinates, Title, Description and marker information. I would imagine it would be a button just like the 'look up coordinates' button that you get with the field parameter input type=map. Or why not just get rid of altogether and just have  where when you use input type=map you automatically get the buttons 'Save Point', 'Remove Point'...along with 'look up coordinates'. If someone wanted to enter one point they could but would also have the option to enter more points.

The and  parser functions are part of the Maps ext, right? That's why I placed the question here. I could have also placed it (and maybe should have) in semantic forms ext talk. It seems semantic maps is more for query of existing points already entered. I'm working on the stage where the user enters the points that get queried later.

kpf 11/02/2009

Hey,

The display_point(s) parser functions are indeed part of Maps. The form input for maps are part of Semantic Maps.

What you are saying makes sense, but from a technical standpoint there are a few things to consider here. My main concern is that the form inputs are hooks for Semantic Forms, while the new functionality you are describing is for Maps. In other words, you'd need 3 semantic extensions (SMW, SM & SF) to be able to use it in non semantic context (aka display_point(s)).

Much better would be to have a form thinghy available when you only have Maps itself installed. Yaron is doing some work in that direction, so before I start to have a serious look at this, I'd like to see how that turns out.

Cheers

-- Jeroen De Dauw 17:08, 2 November 2009 (UTC)

Cool. I may look into a way to do it also but...I'm not the best programmer in the world and don't have the intricate knowledge of the code like you Yaron and the others who wrote it so I may be more spinning my wheels than anything...

On the surface it seems pretty simple but maybe not as simple as it seems once you dig a little deeper.

kpf 11/02/2009

Hey,

As far as I can see ATM, no mayor changes would be needed to the extension's code. Basically, it would just be making some modifications to the relevant form inputs, which would mainly be HTML and JS.

Have a look at these files for the relevant code (assuming you want to do this for Google Maps):
 * SM_GoogleMapsFormInput.php
 * SM_GoogleMapsFunctions.js

Good luck!

Cheers

-- Jeroen De Dauw 22:29, 2 November 2009 (UTC)

Trouble With display_points
Hi, I just installed the latest Maps and Semantic Maps, I've set up my yahoo API key, and I'm trying some examples from the documentation:

The Last map, with just one point, shows fine, but the first two, with two points each, do not. What I get on those is a blank map, with the direction arrows in the upper left, map/sat/hyb buttons in the upper right, and a non-clickable orange label baloon in the upper left.

I've set my default map and geocode service to yahoo as well: LocalSettings.php: require_once( "$IP/extensions/Maps/Maps.php" ); require_once( "$IP/extensions/SemanticMaps/SemanticMaps.php" ); $egGoogleMapsKey = ''; $egYahooMapsKey = '3HA79SLV34F9Zd7PHy9YYbo5pe0MvMfj8ruPS_873fCCdLH2TU7MZrjmAsWnxH61'; $egMapsDefaultService = 'yahoomaps'; $egMapsDefaultServices = array('pf' => 'yahoomaps', 'qp' => 'yahoomaps', 'fi' => 'yahoomaps'); $egMapsDefaultGeoService = 'yahoo';

Any guidance here would be greatly appreciated, thanks for all your hard work!

Don Undeen

don.undeen_at_metmuseum.org

11/19/2009