Hi,

Actually, I sent a mail to the maps mailing list already but there was 
no feedback at all so I am taking Jeroens advice and try it again here, 
there might be some users using maps and waiting for the image maps 
feature. I already included some of the features suggested in my last 
mail to "[email protected]" a little different though.

Recently I have been fixing the Maps extension openlayers image feature 
to use images as maps again (the feature was broken around Maps 1.0).

Besides fixing the feature for the next version of maps, I have 
implemented the following features already:
* Additional parameters on layer pages (unit, maxScale, minScale) to 
better control how the map is being displayed.
* Markers can have a group, each group is represented as one overlay 
layer and has its own marker colour (for default markers).
* the "display_..." functions/tags using a layer: page store this in the 
database, layer-pages show which pages are using the layer and pages 
using a layer will be purged when the layer changes.
* Database table for layers which should increase performance and allows 
to define several layers in one page to group them. Using the layer page 
name will include all of these group members into the base map-selection 
of a map. Also, a <layer name="" type="">...properties...</layer> tag is 
used to define layers now. Via 'name' the layer can have a name so a 
specific group member layer can be used instead of the whole group of 
layers defined on the same layer-page.

now I am writing because I am planing on implementing some more features 
which I need some opinion on:

--------

1. I have implemented first attempts of allowing overlay maps. The 
overlay feature introduces the attribute 'overlays' for 'display_map' 
and 'display_point' like:
<display_map service="openlayers" layers="Moon Map" overlays="Moon 
Station, Moon City">0,0</display_map>
where 'Moon Station' and 'Moon City' could be smaller maps located on 
'Moon Map', simply images with more detail where you can zoom in from a 
overall view of moon into a detail view of the base and the city. The 
cool thing about this is, that overlay maps also could be displayed as 
baselayers if you use them with the 'layers' parameter instead (since 
they must have a layer: page anyway)

This works, but it doesn't make much sense without coordinates for the 
overlays. So I am thinking about a appropriate syntax but can't come up 
with anything nice:
<display_map service="openlayers" layers="Moon Map" overlays="Moon 
Station|20;40, Moon City|100;40">0,0</display_map>
for example wouldn't be very consistent syntax compared to the other map 
syntax and I don't even want to think about #display_points which has 
some weird syntax compared to <display_points>
How about:
<display_map service="openlayers" layers="Moon Map" overlays="Moon 
Station|Station, Moon City|City" addresses="Station (20,40), City 
(100,40)">0,0</display_map>
So we would first declare some named addresses and assign them to 
coordinates, from then on we can use the names for image layers just 
like in mapping services like bing or google maps where you can just 
write 'New York' instead of the actual geographical coordinates. And not 
using the () within 'overlays' has the advantage that layer sites still 
can contain '(' and ')' within the site name. It also allows to use the 
addresses for markers like:
<display_points service="openlayers" layers="Moon Map" overlays="Moon 
Station|Station, Moon City|City" addresses="Station (20,40), City (100,40)">
Station | Moon Station | This is the moon station | station.png | Group 1
</display_map>
So instead of using coordinates we can use names as coordinates for 
markers within image layers as well!
This goes even one step further with the following...

2. ...allowing to define addresses within the layer page. This could be 
a parameter 'addresses' which contains coordinates and names of 
addresses which can be used for overlays and markers for 'display_point' 
and for overlays using 'display_map'.
This could look like:
<layer type="image">
source = moon.jpg
...
addresses = station (20,40), city (100,40), ....
</layer>

addresses would be case-insensitive and would even make the use of the 
'addresses' parameter within the display functions obsolete when using 
overlays but the main advantage would of course be that markers can be 
added very fast and without searching for coordinates first since all 
important coordinates are described already.
'addresses' parameter of display functions will overwrite if one name is 
given there and on a layer page.

3. its difficult with units. Layers can have different units like 
degree, km, miles... I didn't look into how it works if markers with 
units are defined in display_marker if there are layers with different 
units. Perhaps we should allow coordinates with units like "20km,200m" 
to make it clear. This could also be included in layer pages so we can 
say "left-extend=20km" and stuff like that instead of having a "unit" 
attribute.
There might me more simple solutions though, have not really looked into 
that yet.

4. Since the custom layer features will require database support and 
update now, we are thinking about making it as a separate extension for 
Maps extension like SemanticMaps. Would be some work to separate all the 
stuff though so I am also thinking about simply disabling the layers 
functionality in case no database update was run yet - without throwing 
any php errors.

--------

Any thoughts on that?
If you have any further ideas for the image layer feature, please write 
a separate mail instead of answering to this one, except it is highly 
related to one of the points above! Thanks!

Cheers,
Daniel

_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to