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

Last change on this file since 33348 was 33348, checked in by ak19, 5 years ago

2 major changes. 1. Forgot to commit Dr Bainbridge's bugfix for why performProximitySearch() wasn't working for solr collections: the + concatenation signs in the constructed request URL should be spaces which ajax will then convert to + signs. This seems not to have been a problem in lucene, but in solr the + signs end up double encoded or something and the query failed until spaces were used. Unfortunately, with performProximitySearch() now working, searching by facets (unticking and ticking facets) doesn't show up many differences in the map and no longer just displays the search result documents' GPS map information marked up on the map, but that of all nearby documents. 2. With Kathy having now implemented the descendants option, requests for a node's children's mapoverlays has been replaced with requests for descendants' mapoverlays. Tested to work with existing subsection (child) information. 3 Turning off _DEBUGGING_ flag again in map_scripts with performProximitySearch working again. 4. Fixed a minor bug in the debugging function for printing the map bounds, allowing the bounds to be undefined, since that was apparently a possibility. 5. Workaround for when scrool through markers is on, and loopThroughMarkers goes through the doc.shapes array the first time, when it has 3 elements yet they're undefined.

File size: 4.7 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'] or metadataList/metadata[@name = 'GPS.mapOverlay'] or metadataList/metadata[@name = 'descendants_GPS.mapOverlay']">
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 <!--
40 <xsl:if test="metadataList/metadata[@name = 'Coordinate']">
41 <xsl:text disable-output-escaping="yes">,</xsl:text>
42 <xsl:text disable-output-escaping="yes">"coords":</xsl:text>
43 <xsl:text>[</xsl:text>
44 <xsl:for-each select="metadataList/metadata[@name = 'Coordinate']">
45 <xsl:text disable-output-escaping="yes">"</xsl:text>
46 <xsl:value-of disable-output-escaping="yes" select="current()"/>
47 <xsl:text disable-output-escaping="yes">"</xsl:text>
48 <xsl:text disable-output-escaping="yes">,</xsl:text>
49 </xsl:for-each>
50 <xsl:text>]</xsl:text>
51 </xsl:if>
52 -->
53 <xsl:if test="metadataList/metadata[@name = 'GPS.mapOverlay']">
54 <xsl:text disable-output-escaping="yes">,</xsl:text>
55 <xsl:text disable-output-escaping="yes">"mapoverlay":</xsl:text>
56 <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'GPS.mapOverlay']"/>
57 </xsl:if>
58
59 <xsl:if test="metadataList/metadata[@name = 'descendants_GPS.mapOverlay']">
60 <xsl:variable name="count"><xsl:value-of select="count(metadataList/metadata[@name = 'descendants_GPS.mapOverlay'])"/></xsl:variable>
61 <xsl:text disable-output-escaping="yes">,</xsl:text>
62 <xsl:text disable-output-escaping="yes">"descendantsMapoverlays":[</xsl:text>
63 <xsl:for-each select="metadataList/metadata[@name = 'descendants_GPS.mapOverlay']">
64 <xsl:value-of disable-output-escaping="yes" select="current()"/>
65 <xsl:if test="not(position() = $count)">
66 <xsl:text disable-output-escaping="yes">,</xsl:text>
67 </xsl:if>
68 </xsl:for-each>
69 <xsl:text disable-output-escaping="yes">]</xsl:text>
70 </xsl:if>
71
72 <xsl:text>}</xsl:text>
73 <xsl:if test="not(position() = count(//documentNode))">
74 <xsl:text>,</xsl:text>
75 </xsl:if>
76 </xsl:if>
77 </xsl:for-each>
78 <xsl:text>]</xsl:text>
79 </div>
80
81 <!-- Although these aren't visible, they are necessary because it forces Greenstone to include this metadata in the page xml -->
82 <gsf:metadata name="Latitude" hidden="true"/>
83 <gsf:metadata name="Longitude" hidden="true"/>
84 <gsf:metadata name="Coordinate" hidden="true"/>
85 <gsf:metadata name="GPS.mapOverlay" hidden="true"/>
86 <gsf:metadata name="GPS.mapOverlay" select="descendants" hidden="true"/>
87<!-- these were included in version in query. don't think we need them...
88 <gsf:metadata name="Image" hidden="true"/>
89 <gsf:metadata name="SourceFile" hidden="true"/>
90 <gsf:metadata name="assocfilepath" hidden="true"/>
91 <gsf:metadata name="PhotoType" hidden="true"/>
92 <gsf:metadata name="cv.rotation" hidden="true"/>
93 <gsf:metadata name="Angle" hidden="true"/> -->
94
95
96 </xsl:template>
97
98 <xsl:template name="mapFeaturesMap">
99 <div id="map_canvas" class="map_canvas_half"><xsl:text> </xsl:text></div>
100 </xsl:template>
101
102
103</xsl:stylesheet>
104
Note: See TracBrowser for help on using the repository browser.