mapping your library with web services and google maps
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 PresentationTRANSCRIPT
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…