Mapping your library with Web Services and Google Maps
By John Wohlers, Waubonsee Community College
Technologies Usedo SirsiDynix Web Services APIo SirsiDynix E-Libraryo PHPo MySQLo Google Maps API V3o Google Eartho QR Codeso Adobe Photoshop / Fireworks
Drawing the map
o Scan floor plano Use layers to trace
– Vector drawing– Opacity
o Permanent fixtureso Remove scanned imageo No text or logos
Adjust the alignment
o Locate library– http://maps.google.com
o Screenshot – Highest zoom (Level 20)– Import into layer
o Orient map to screenshoto Adjust scaleo Remove screenshot
Embellish your map
o Add persistent text– Room Numbers– Descriptors
o Add logo o Flourishes
Preparing the map
o Download & Install MapTiler– http://www.maptiler.org
o Geo locate your map image– http://www.getlatlon.com/– Google Earth– Handheld GPS
Tiling the Map
o Location Format: North South East West
– 41.66487457668102 41.66385936458253 -88.50639149534651 -88.50750234162167
Testing the tiles
o Test in browser– googlemaps.html– version 2 API
o Make adjustmentsif needed and re-export
o Copy tiles to web server
Getting Fancy
o Item location using SirsiDynix Web Services
o QR Codeso You are here
SirsiDynix Core Web Serviceso Standard Services
Catalog searches Basic Item info
o Security Services Authentication
o Patron Services LICENCE REQUIRED Patron account info Renewals, Holds
o Admin Services System policies
Add Service Client ID
o Symphony Web Services Admino Client ID
– Google Maps– Web Services– No license
Web Services in PHP
o PHP Modules & Libraries – PHP SOAP module– WSDLProxyGenerator
Bug fix required
o Define headero Create cliento “Try / catch”
Title Lookup
o Create lookup requesto Perform lookup
Simple Database
o MySQLo Stores location data
– Symphony location code– Call number range– Lat / Long data– Marker data
o Varchar for Lat / Long due to lengtho Example limited to four coordinates
Schema
o “Locations “ table
Location Data
o Google Earth– Map overlay
o Draw regions using “Add Polygon”– Export to KML
o Locate markers via “Add Placemark”– Export to KML
Physical Location Lookup
o Convert LC Call to sortable– E185.61 .C6970 = E 0185.61C.6970 .0000
o LC Sort library (‘LC_sortable.php’)o MySQL query
JavaScript
o Define tile boundarieso Create new
google.maps.ImageMapTypeo Create new map objecto Overlay ImageMapTypeo Marker JavaScript
– Dynamically generated by PHP
Enhancing eLibrary
o Copy “dispholdings.h” to Pages_custom/Elib_revD
o Include custom map.h file
eLibrary - Map.h
o Custom HTML / JavaScript– eLibrary uses Prototype JavaScript
framework
The End Result: New Books
The End Result: Stacks
The End Result: Reserves
Additional Resources
o This presentation– http://bit.ly/h6Wt4b
o Google Maps API Family– http://code.google.com/apis/maps/index.
htmlo Google I/O 2009 Map HowTo
– http://code.google.com/p/googleio2009-map/wiki/HowTo
WSDL Proxy PHP library
o WSDL Proxy– http://www.phpbuilder.com/columns/ada
m_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 */
o Email: [email protected] Instant Messenger: cap60552o Twitter: cap60552o Facebook: http://www.facebook.com/wohlerso In person at the conference
Questions?
Why type it…Contact Info
Presentation & Files