mapping your library with web services and google maps
DESCRIPTION
Mapping your library with Web Services and Google Maps. By 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 PresentationTRANSCRIPT
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