Upload
lars
View
41
Download
0
Embed Size (px)
DESCRIPTION
Mapping your library with Web Services and Google Maps. John Wohlers Waubonsee Community College. Technologies Used. SirsiDynix Web Services API SirsiDynix E-Library PHP MySQL Google Maps API V3 Google Earth QR Codes Adobe Photoshop / Fireworks. Drawing the map. Scan floor plan - PowerPoint PPT Presentation
Citation preview
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Mapping your library with Web Services and Google
MapsJohn Wohlers
Waubonsee Community College
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Technologies Used SirsiDynix Web Services API SirsiDynix E-Library PHP MySQL Google Maps API V3 Google Earth QR Codes Adobe Photoshop / Fireworks
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Drawing the map Scan floor plan Use layers to trace
– Vector drawing– Opacity
Permanent fixtures Remove scanned image No text or logos
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Adjust the alignment Locate library
– http://maps.google.com Screenshot
– Highest zoom (Level 20)– Import into layer
Orient map to screenshot Adjust scale Remove screenshot
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Embellish your map Add persistent text
– Room Numbers– Descriptors
Add logo Flourishes
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Preparing the map Download & Install MapTiler
– http://www.maptiler.org Geo locate your map image
– http://www.getlatlon.com/– Google Earth– Handheld GPS
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Tiling the Map Location Format: North South East
West– 41.66487457668102 41.66385936458253 -88.50639149534651 -
88.50750234162167
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Testing the tiles Test in browser
– googlemaps.html– version 2 API
Make adjustmentsif needed and re-export
Copy tiles to web server
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Getting Fancy Item location using SirsiDynix Web
Services QR Codes You are here
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
SirsiDynix Core Web Services
Standard Services Catalog searches Basic Item info
Security Services Authentication
Patron Services LICENCE REQUIRED Patron account info Renewals, Holds
Admin Services System policies
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Add Service Client ID Symphony Web Services Admin Client ID
– Google Maps– Web Services– No license
Custom Client ID’s not retained during upgrades as of 3.0
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Web Services in PHP PHP Modules & Libraries
– PHP SOAP module– WSDLProxyGenerator
Bug fix required
Define header Create client “Try / catch”
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Title Lookup Create lookup request Perform lookup
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Simple Database MySQL Stores location data
– Symphony location code– Call number range– Lat / Long data– Marker data
Varchar for Lat / Long due to length Example limited to four coordinates
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Schema “Locations “ table
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Location Data Google Earth
– Map overlay Draw regions using “Add Polygon”
– Export to KML Locate markers via “Add Placemark”
– Export to KML
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Physical Location Lookup Convert LC Call to sortable
– E185.61 .C6970 = E 0185.61C.6970 .0000
LC Sort library (‘LC_sortable.php’) MySQL query
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
JavaScript Define tile boundaries Create new
google.maps.ImageMapType Create new map object Overlay ImageMapType Marker JavaScript
– Dynamically generated by PHP
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Enhancing eLibrary Copy “dispholdings.h” to
Pages_custom/Elib_revD Include custom map.h file
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
eLibrary - Map.h Custom HTML / JavaScript
– eLibrary uses Prototype JavaScript framework
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
The End Result: New Books
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
The End Result: Stacks
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
The End Result: Reserves
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Additional Resources This presentation
– http://bit.ly/h6Wt4b Google Maps API Family
– http://code.google.com/apis/maps/index.html
Google I/O 2009 Map HowTo– http://code.google.com/p/googleio2009-
map/wiki/HowTo
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
WSDL Proxy PHP library WSDL Proxy
– http://www.phpbuilder.com/columns/adam_delves20060606.php3
– Patch:@@ -20,6 +20,7 @@ preg_match("/([a-z0-9_]+)\s+([a-z0-9_]+(\[\])?)(.*)?/si", $type, $matches); $type = $matches[1];+ $name = $matches[2]; switch($type) { /* if the data type is struct, we create a class with this name */
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Email: [email protected] Instant Messenger: cap60552 Twitter: cap60552 Facebook: http://www.facebook.com/wohlers In person at the conference
Questions?
C O S U G I 2 0 1 1 P H O E N I X, A R I Z O N A
Why type it…