- Timestamp:
- 2019-06-11T20:20:04+12:00 (5 years ago)
- Location:
- main/trunk/greenstone3/web/interfaces/default
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/web/interfaces/default/js/map-scripts.js
r33147 r33148 373 373 } 374 374 375 // TODO: FUNCTION DUPLICATED IN panoramaViewer.js 375 376 function getLatLngForCoord(coord) { 376 377 -
main/trunk/greenstone3/web/interfaces/default/js/panoramaViewer.js
r26883 r33148 212 212 panoDocList.ids.move(panoDocList.ids.indexOf(panoramaID), 0); 213 213 214 var startPanoLonLat = new THREE.Vector3(gs.documentMetadata[panoramaID].Latitude,gs.documentMetadata[panoramaID].Longitude); 214 var startPanoLonLat; 215 if(typeof gs.documentMetadata[panoramaID].Coordinate !== 'undefined'){ // we have Coordinate meta 216 var coordInfo = getLatLngForCoord(gs.documentMetadata[panoramaID].Coordinate); 217 startPanoLonLat = new THREE.Vector3(coordInfo.lat,coordInfo.lng); 218 } else { 219 startPanoLonLat = new THREE.Vector3(gs.documentMetadata[panoramaID].Latitude,gs.documentMetadata[panoramaID].Longitude); 220 } 215 221 216 222 // going through the panolist checking the distance 217 223 for(var i = 1; i < panoDocList.ids.length; i++) { 218 var endPanoLonLat = new THREE.Vector3(gs.documentMetadata[panoDocList.ids[i]].Latitude,gs.documentMetadata[panoDocList.ids[i]].Longitude); 224 var endPanoLonLat; 225 if(typeof gs.documentMetadata[panoDocList.ids[i]].Coordinate !== 'undefined'){ // we have Coordinate meta 226 var coordInfo = getLatLngForCoord(gs.documentMetadata[panoDocList.ids[i]].Coordinate); 227 endPanoLonLat = new THREE.Vector3(coordInfo.lat,coordInfo.lng); 228 } else { 229 endPanoLonLat = new THREE.Vector3(gs.documentMetadata[panoDocList.ids[i]].Latitude,gs.documentMetadata[panoDocList.ids[i]].Longitude); 230 } 219 231 if(calculateDistance(startPanoLonLat,endPanoLonLat) < panoSelectionRadius) { 220 232 var bearing = calculateBearing(startPanoLonLat,endPanoLonLat); … … 235 247 } 236 248 237 } 238 249 } 250 251 // DUPLICATED FROM map-scripts.js 252 function getLatLngForCoord(coord) { 253 254 // https://stackoverflow.com/questions/2559318/how-to-check-for-an-undefined-or-null-variable-in-javascript 255 if(!coord) { 256 // some_variable is either null, undefined, 0, NaN, false, or an empty string 257 console.log("@@@@ In panoramaViewer::getLatLngForCoord(): no or invalid coord info"); 258 return null; 259 } 260 261 // coord is of the form: "37S77 157E53" 262 // lat will be 37S77, lng 157E53. 263 var indexOfSpace = coord.indexOf(" "); 264 if(indexOfSpace === -1) { 265 console.log("@@@@ In panoramaViewer::getLatLngForCoord(): bad format for coord " + coord); 266 return null; 267 } 268 var latitude = coord.substring(0, indexOfSpace); 269 var longitude = coord.substring(indexOfSpace+1); 270 return {lat: latitude, lng: longitude}; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects 271 } 239 272 240 273 function onWindowResize() { -
main/trunk/greenstone3/web/interfaces/default/transform/pages/classifier.xsl
r33125 r33148 305 305 </xsl:if> 306 306 307 <!-- TODO: anything equivalent for Coordinate metadata? -->308 307 <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 309 <xsl:if test=" metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude'] and metadataList/metadata[@name = 'PhotoType']='Panorama'">308 <xsl:if test="metadataList/metadata[@name = 'PhotoType']='Panorama' and ( metadataList/metadata[@name = 'Coordinate'] or ( metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']))"> 310 309 <xsl:call-template name="panoramaViewerFeaturesIcon"/> 311 310 </xsl:if> -
main/trunk/greenstone3/web/interfaces/default/transform/pages/query.xsl
r33094 r33148 653 653 654 654 <xsl:if test="/page/pageResponse/format/gsf:option[@name='panoramaViewerEnabled']/@value = 'true'"> 655 <xsl:if test=" metadataList/metadata[@name = ' Latitude'] and metadataList/metadata[@name = 'Longitude']">655 <xsl:if test=" metadataList/metadata[@name = 'Coordinate'] or ( metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude'])"> 656 656 <xsl:call-template name="panoramaViewerFeaturesIcon"/> 657 657 </xsl:if> -
main/trunk/greenstone3/web/interfaces/default/transform/panorama-viewer-tools.xsl
r31550 r33148 12 12 <xsl:text>[</xsl:text> 13 13 <xsl:for-each select="//documentNode"> 14 <xsl:if test="metadataList/metadata[@name = ' Latitude'] and metadataList/metadata[@name = 'Longitude'] and metadataList/metadata[@name = 'PhotoType']='Panorama'">14 <xsl:if test="metadataList/metadata[@name = 'PhotoType']='Panorama' and (metadataList/metadata[@name = 'Coordinate'] or (metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']))"> 15 15 <xsl:text>{</xsl:text> 16 16 <xsl:text disable-output-escaping="yes">"nodeID":"</xsl:text><xsl:value-of select="@nodeID"/><xsl:text disable-output-escaping="yes">",</xsl:text> 17 <xsl:text disable-output-escaping="yes">"source":"</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Source']"/>"<xsl:text>,</xsl:text> 18 <xsl:text disable-output-escaping="yes">"lat":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Latitude']"/><xsl:text>,</xsl:text> 19 <xsl:text disable-output-escaping="yes">"lng":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Longitude']"/> 17 <xsl:text disable-output-escaping="yes">"source":"</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Source']"/>" 18 <xsl:if test="metadataList/metadata[@name = 'Latitude'] and metadataList/metadata[@name = 'Longitude']"> 19 <xsl:text disable-output-escaping="yes">,</xsl:text> 20 <xsl:text disable-output-escaping="yes">"lat":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Latitude']"/><xsl:text>,</xsl:text> 21 <xsl:text disable-output-escaping="yes">"lng":</xsl:text><xsl:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'Longitude']"/> 22 </xsl:if> 23 <xsl:if test="metadataList/metadata[@name = 'Coordinate']"> 24 <xsl:text disable-output-escaping="yes">,</xsl:text> 25 <xsl:text disable-output-escaping="yes">"coords":</xsl:text> 26 <xsl:text>[</xsl:text> 27 <xsl:for-each select="metadataList/metadata[@name = 'Coordinate']"> 28 <xsl:text disable-output-escaping="yes">"</xsl:text> 29 <xsl:value-of disable-output-escaping="yes" select="current()"/> 30 <xsl:text disable-output-escaping="yes">"</xsl:text> 31 <xsl:text disable-output-escaping="yes">,</xsl:text> 32 </xsl:for-each> 33 <xsl:text>]</xsl:text> 34 </xsl:if> 20 35 <xsl:text>}</xsl:text> 21 36 <xsl:if test="not(position() = count(//documentNode))"> … … 29 44 <gsf:metadata name="Latitude" hidden="true"/> 30 45 <gsf:metadata name="Longitude" hidden="true"/> 46 <gsf:metadata name="Coordinate" hidden="true"/> 31 47 <gsf:metadata name="Image" hidden="true"/> 32 48 <gsf:metadata name="SourceFile" hidden="true"/>
Note:
See TracChangeset
for help on using the changeset viewer.