<?php $def_image = '/pic/glasses.jpg'; $image = isset($_GET['image']) ? $_GET['image'] : $def_image; require_once 'exifgps.inc.php'; function image_exif_gps($file) { if ( ($exif = @exif_read_data($_SERVER['DOCUMENT_ROOT'] . '/' . $file, 0, true)) !== false && isset($exif['GPS']) && $exif['GPS'] ) { exif_gps_vars($exif, $lat, $lon, $alt); // $d = print_r($exif['GPS'], true); // Return a JavaScript dictionary containing all useful GPS info return "{isValid: true, lat: $lat, lon: $lon, alt: $alt, file: \"$file\"}" . (isset($d) ? "\n/* $d*/": ''); } else return "{isValid: false, file: \"$file\"}"; } require 'app.inc.php'; require 'appmenu.inc.php'; $app = new Application('A Google map from EXIF GPS data', $menu); $app->js_includes[] = 'http://maps.google.com/maps?file=api&v=2&sensor=false&key=ABQIAAAAfJCC_y3t6PhD554YaP1N3BRzNbUJ5gPsIhhZDTbsJVnTmyE66xSPz4nmEa7HmbRS-3Yrms4FAbkBxg'; $app->js_includes[] = '/js/2butils.js'; $app->js_includes[] = '/js/gmap.js'; $app->head_add = "<script type='text/javascript'> var gMap, gLat, gLon; addLoadEvent(function() { gLat = document.getElementById('lat'); gLon = document.getElementById('lon'); if (!(gMap = GMinit('map'))) return; gMap.addMarkerOverlay(47.0452, 7.2713, 'Home, sweet home!'); var gps = gMap.gps = " . image_exif_gps($image) . "; if (gps.isValid) { gMap.setCenter( gMap.addMarkerOverlay(gps.lat, gps.lon, LatLngToHtml(gps.lat, gps.lon)), 14, G_SATELLITE_MAP ); gLat.value = gps.lat; gLon.value = gps.lon; } GEvent.addListener(gMap, 'click', function(obj, pos) { gLat.value = pos.lat(); gLon.value = pos.lng(); }); }); </script>"; $app->header(); ?> <h2><a href="<?php echo preg_replace('#^/album/#', '/album/-image/', $image) ?>"><?php echo $image ?></a></h2> <p></p> <div id="map" class="float" style="width: 500px; height: 500px; margin: 7px 14px 14px 0;"></div> <div class="float"> <img src="<?php echo $image ?>" alt="<?php echo $image ?>" width="120" /> <?php if ($image == $def_image) { ?> <p>© 2006 <a href="http://www.senklo.ch/">matthias hänni</a></p> <?php } ?> </div> <div class="float"> <form method="post" action="exifupd.php"> <input type="hidden" name="image" value="<?php echo $image ?>" /> <label for="lat">Latitude:</label> <input type="text" id="lat" name="lat" /><br /> <label for="lon">Longitude:</label> <input type="text" id="lon" name="lon" /><br /> <button type="submit">Update</button> </form> </div> <?php $app->footer() ?>