Ignore:
Timestamp:
2019-06-07T20:30:54+12:00 (5 years ago)
Author:
wy59
Message:
  1. Moved from plotting markers for each coord in doc.coords array to creating doc.mapOverlay from GPS.mapOverlay meta and converting each shape therein into Google Map Shapes/Overlays and storing these in the new doc.shapes array. 2. We now use Google Map InfoWindows to display label information for shapes/markers that have them. For now the labels are displayed/hidden on mouseover and mouseout. We can make them permanently displayed if necessary. 3. Lots more TODO questions added.
Location:
main/trunk/greenstone3/web/interfaces/default/transform
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/transform/layouts/header.xsl

    r33124 r33140  
    748748  <xsl:template name="map-scripts">
    749749    <meta content="initial-scale=1.0, user-scalable=no" name="viewport"/>
    750     <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCofVTps3xHfMvIcTMHqYMMxe3xXfkAxnI&amp;libraries=drawing" type="text/javascript"><xsl:text> </xsl:text></script>   
     750    <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCofVTps3xHfMvIcTMHqYMMxe3xXfkAxnI&amp;libraries=drawing" type="text/javascript"><xsl:text> </xsl:text></script>
     751    <script src="interfaces/{$interface_name}/js/map-scripts-shapes-util.js" type="text/javascript"><xsl:text> </xsl:text></script>
    751752    <script src="interfaces/{$interface_name}/js/map-scripts.js" type="text/javascript"><xsl:text> </xsl:text></script>
    752753    <script type="text/javascript">$(window).load(initializeMapScripts);</script>
  • main/trunk/greenstone3/web/interfaces/default/transform/map-tools.xsl

    r33128 r33140  
    2121      <xsl:text>[</xsl:text>
    2222      <xsl:for-each select="//documentNode">
    23     <xsl:if test="(metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']) or metadataList/metadata[@name = 'Coordinate']">
     23    <xsl:if test="(metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']) or metadataList/metadata[@name = 'Coordinate'] or metadataList/metadata[@name = 'GPS.mapOverlay']">
    2424      <xsl:text>{</xsl:text>
    2525      <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text>
     
    4949        <xsl:text>]</xsl:text>
    5050      </xsl:if>
     51     
     52      <xsl:if test="metadataList/metadata[@name = 'GPS.mapOverlay']">
     53        <xsl:text disable-output-escaping="yes">,</xsl:text>
     54        <xsl:text disable-output-escaping="yes">"mapoverlay":</xsl:text>
     55        <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'GPS.mapOverlay']"/>
     56      </xsl:if>
     57                           
    5158      <xsl:text>}</xsl:text>
    5259      <xsl:if test="not(position() = count(//documentNode))">
  • main/trunk/greenstone3/web/interfaces/default/transform/pages/document.xsl

    r33128 r33140  
    844844                <xsl:when test="count(//documentNode) > 0">
    845845                    <xsl:for-each select="//documentNode">
    846                         <xsl:if test="(metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']) or metadataList/metadata[@name = 'Coordinate']">
     846                        <xsl:if test="(metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']) or metadataList/metadata[@name = 'Coordinate'] or metadataList/metadata[@name = 'GPS.mapOverlay']">
    847847                            <xsl:text>{</xsl:text>
    848848                            <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">",</xsl:text>
     
    862862                                    <xsl:value-of disable-output-escaping="yes" select="current()"/>
    863863                                    <xsl:text disable-output-escaping="yes">"</xsl:text>
     864                                    <!--<xsl:if test="not(position() = count(metadataList/metadata[@name = 'Coordinate'])">
     865                                        <xsl:text>,</xsl:text>
     866                                    </xsl:if>               
     867                                    -->
    864868                                    <xsl:text disable-output-escaping="yes">,</xsl:text>
    865869                                </xsl:for-each>
    866870                                <xsl:text>]</xsl:text>
     871                            </xsl:if>                       
     872                           
     873                            <xsl:if test="metadataList/metadata[@name = 'GPS.mapOverlay']">
     874                                <xsl:text disable-output-escaping="yes">,</xsl:text>
     875                                <xsl:text disable-output-escaping="yes">"mapoverlay":</xsl:text>
     876                                <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'GPS.mapOverlay']"/>
    867877                            </xsl:if>
     878                           
    868879                            <xsl:text>}</xsl:text>
     880                           
    869881                            <xsl:if test="not(position() = count(//documentNode))">
    870882                                <xsl:text>,</xsl:text>
    871883                            </xsl:if>
     884                           
    872885                        </xsl:if>
    873886                    </xsl:for-each>
     
    876889                <xsl:otherwise>
    877890                    <xsl:for-each select="/page/pageResponse/document">
    878                         <xsl:if test="(metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']) or metadataList/metadata[@name = 'Coordinate']">
     891                        <xsl:if test="(metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']) or metadataList/metadata[@name = 'Coordinate']  or metadataList/metadata[@name = 'GPS.mapOverlay']">
    879892                            <xsl:text>{</xsl:text>
    880893                            <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text><xsl:value-of select="@selectedNode"/><xsl:text disable-output-escaping="yes">",</xsl:text>
     
    898911                                <xsl:text>]</xsl:text>
    899912                            </xsl:if>
     913                           
     914                            <xsl:if test="metadataList/metadata[@name = 'GPS.mapOverlay']">
     915                                <xsl:text disable-output-escaping="yes">,</xsl:text>
     916                                <xsl:text disable-output-escaping="yes">"mapoverlay":</xsl:text>
     917                                <xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'GPS.mapOverlay']"/>
     918                            </xsl:if>
     919                           
    900920                            <xsl:text>}</xsl:text>
    901921                        </xsl:if>
     
    906926        </div>
    907927       
    908         <!-- TODO: Why do we have to do this to see Coordinate appear in extraMetadataList on o=xml page, when Lat and Lng appear without doing the same??? -->
     928        <!-- TODO: Why do we have to do this to see Coordinate meta appear in extraMetadataList on o=xml page, when Lat and Lng appear without doing the same???
     929            Furthermore, map-tools.xsl already requests Coordinate meta, and map-tools.xsl is always included when format statement for collection in
     930            search|browse|doc display view has mapEnabled=true -->
    909931        <gsf:metadata name="Coordinate" hidden="true"/>
     932        <gsf:metadata name="GPS.mapOverlay" hidden="true"/>     
    910933    </xsl:template>
    911934   
Note: See TracChangeset for help on using the changeset viewer.