PhpAlbum - Erweiterung um Kartenansicht anhand GPS Meta-Daten

Aus Laub-Home.de Wiki
Zur Navigation springen Zur Suche springen

Sofern in Bildern die GPS-Daten vorhanden sind, können für eine Kartenansicht verwendet werden. Hierzu wird - sofern die GPS Meta-Daten vorhanden sind - ein kleiner Google maps iframe eingebunden. Folgende Anpassung muss durchgeführt werden:

1. Template Datei editieren: /themes/Borders/parameters.tpl.php
2. Code am Ende hinzufügen:
<?php
	function gpsToString($p_LatRef, $p_Lat, $p_LongRef, $p_Long) {
		return $p_LatRef .
				substr($p_Lat[0], 0, strpos($p_Lat[0], "/")) . "%B0%20" .
				(substr($p_Lat[1], 0, strpos($p_Lat[1], "/"))/substr($p_Lat[1], strpos($p_Lat[1], "/")+1, strlen($p_Lat[1]))) . "%27" .
				(substr($p_Lat[2], 0, strpos($p_Lat[2], "/"))/substr($p_Lat[2], strpos($p_Lat[2], "/")+1, strlen($p_Lat[2]))) . "%22%20" .
				$p_LongRef .
				substr($p_Long[0], 0, strpos($p_Long[0], "/")) . "%B0%20" .
				(substr($p_Long[1], 0, strpos($p_Long[1], "/"))/substr($p_Long[1], strpos($p_Long[1], "/")+1, strlen($p_Long[1]))) . "%27" .
				(substr($p_Long[2], 0, strpos($p_Long[2], "/"))/substr($p_Long[2], strpos($p_Long[2], "/")+1, strlen($p_Long[2]))) ."%22";
	}
	$exif= read_exif_data("photos/".$_GET['var1']);
	$gps=gpsToString($exif["GPSLatitudeRef"], $exif["GPSLatitude"],$exif["GPSLongitudeRef"],$exif["GPSLongitude"]);
	if(strlen($gps)> 27) {
		?>
			<div>
				<br>
				<iframe src="http://maps.google.de/maps?f=q&hl=de&z=15&output=embed&q=<? echo $gps; ?>" height="400" width="650">
				</iframe>
			</div>
		<?
	}
?>