source: main/trunk/greenstone3/web/interfaces/default/transform/map-tools.xsl@ 33128

Last change on this file since 33128 was 33128, checked in by wy59, 5 years ago

Improvements to Coordinate support AND bugfixes. BUT not all the fixes may be ideal, many marked with TODO. 1. Now we support an Array of coordinates. At present these are only displayed as Markers, but in future shapes should appear as shapes. 2. Bugfixes include: (a) expanding sections wasn't working when we had hierarchical docs with Coordinate data, because map-scripts 'overrode' the toggleSection function but no longer did any of the doc expanding behaviour that document_scripts.js used to do. This was not a problem with the ImagesGPS collection, simply because that did not have hierarchical/sectionalised documents. (b) Perl: A previous commit output duplicate Coordinates into the index. Now this doesn't happen. Fix works but may not be ideal. 3. Perl: (a) Reserved index names CD, CS for Coordinate and CoordShort. Note however that LAT and LNG were never added to reserve list for index names. (b) Now doc.pm::processCoord() takes a section parameter and works out the section-ptr from that.

File size: 3.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<xsl:stylesheet version="1.0"
3 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4 xmlns:java="http://xml.apache.org/xslt/java"
5 xmlns:util="xalan://org.greenstone.gsdl3.util.XSLTUtil"
6 xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat"
7 extension-element-prefixes="java util"
8 exclude-result-prefixes="java util gsf">
9
10
11 <xsl:template name="mapFeaturesIcon">
12 <td style="padding-left:5px; padding-right:5px;" valign="top">
13 <a href="javascript:focusDocument('{@nodeID}');">
14 <img src="interfaces/{$interface_name}/images/map_marker.png"/>
15 </a>
16 </td>
17 </xsl:template>
18
19 <xsl:template name="mapFeaturesJSONNodes">
20 <div id="jsonNodes" style="display:none;">
21 <xsl:text>[</xsl:text>
22 <xsl:for-each select="//documentNode">
23 <xsl:if test="(metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']) or metadataList/metadata[@name = 'Coordinate']">
24 <xsl:text>{</xsl:text>
25 <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text>
26 <xsl:value-of select="@nodeID"/>
27 <xsl:text disable-output-escaping="yes">",</xsl:text>
28 <xsl:text disable-output-escaping="yes">"title":"</xsl:text>
29 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Title']"/>
30 <xsl:text disable-output-escaping="yes">"</xsl:text>
31 <xsl:if test="metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']">
32 <xsl:text disable-output-escaping="yes">,</xsl:text>
33 <xsl:text disable-output-escaping="yes">"lat":</xsl:text>
34 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Latitude']"/>
35 <xsl:text>,</xsl:text>
36 <xsl:text disable-output-escaping="yes">"lng":</xsl:text>
37 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Longitude']"/>
38 </xsl:if>
39 <xsl:if test="metadataList/metadata[@name = 'Coordinate']">
40 <xsl:text disable-output-escaping="yes">,</xsl:text>
41 <xsl:text disable-output-escaping="yes">"coords":</xsl:text>
42 <xsl:text>[</xsl:text>
43 <xsl:for-each select="metadataList/metadata[@name = 'Coordinate']">
44 <xsl:text disable-output-escaping="yes">"</xsl:text>
45 <xsl:value-of disable-output-escaping="yes" select="current()"/>
46 <xsl:text disable-output-escaping="yes">"</xsl:text>
47 <xsl:text disable-output-escaping="yes">,</xsl:text>
48 </xsl:for-each>
49 <xsl:text>]</xsl:text>
50 </xsl:if>
51 <xsl:text>}</xsl:text>
52 <xsl:if test="not(position() = count(//documentNode))">
53 <xsl:text>,</xsl:text>
54 </xsl:if>
55 </xsl:if>
56 </xsl:for-each>
57 <xsl:text>]</xsl:text>
58 </div>
59
60 <!-- Although these aren't visible, they are necessary because it forces Greenstone to include this metadata in the page xml -->
61 <gsf:metadata name="Latitude" hidden="true"/>
62 <gsf:metadata name="Longitude" hidden="true"/>
63 <gsf:metadata name="Coordinate" hidden="true"/>
64 <gsf:metadata name="GPS.mapOverlay" hidden="true"/>
65<!-- these were included in version in query. don't think we need them...
66 <gsf:metadata name="Image" hidden="true"/>
67 <gsf:metadata name="SourceFile" hidden="true"/>
68 <gsf:metadata name="assocfilepath" hidden="true"/>
69 <gsf:metadata name="PhotoType" hidden="true"/>
70 <gsf:metadata name="cv.rotation" hidden="true"/>
71 <gsf:metadata name="Angle" hidden="true"/> -->
72
73
74 </xsl:template>
75
76 <xsl:template name="mapFeaturesMap">
77 <div id="map_canvas" class="map_canvas_half"><xsl:text> </xsl:text></div>
78 </xsl:template>
79
80
81</xsl:stylesheet>
82
Note: See TracBrowser for help on using the repository browser.