<?php
// Putanja do vase JPEG slike
$slika = 'slika.jpg';
// Provjera postojanja EXIF podataka u slici
{
// Citanje EXIF podataka iz slike
// Provjera postojanja geografskih koordinata (lokacije) u EXIF podacima
if (isset($exif['GPSLatitude']) && isset($exif['GPSLongitude'])) {
// Dekodiranje geografskih koordinata
$latitude = $exif['GPSLatitude'];
$longitude = $exif['GPSLongitude'];
// Dekodiranje smjera
$latitudeRef = $exif['GPSLatitudeRef'];
$longitudeRef = $exif['GPSLongitudeRef'];
// Pretvaranje geografskih koordinata u decimalni format
$latitudeDecimal = convertToDecimalDegrees($latitude, $latitudeRef);
$longitudeDecimal = convertToDecimalDegrees($longitude, $longitudeRef);
// Ispis geografskih koordinata
//echo "Lokacija: Latitude: $latitudeDecimal, Longitude: $longitudeDecimal";
}
else
{
echo "Nema dostupnih geografskih koordinata u EXIF podacima slike.";
}
} else
{
echo "Nevazeca slika ili nedostaje podrska za citanje EXIF podataka.";
}
// Funkcija za pretvaranje geografskih koordinata iz stupnjeva, minuta i sekundi u decimalni format
function convertToDecimalDegrees($coord, $hemisphere)
{
$degrees = count($coord) > 0 ?
$coord[0] : 0;
$minutes = count($coord) > 1 ?
$coord[1] : 0;
$seconds = count($coord) > 2 ?
$coord[2] : 0;
$degrees= eval("return $degrees;");
$minutes = eval("return $minutes;");
$seconds = eval("return $seconds;");
$sign = ($hemisphere == 'W' || $hemisphere == 'S') ? -1 : 1;
$decimal = $sign * ($degrees + ($minutes / 60) + ($seconds / 3600));
$string = "2 + 3 * 5"; // String koji sadrzi matemati
ku operaciju
$result = eval("return $string;"); // Izvrsavanje matematicke operacije
//echo $result; // Ispis rezultata
return $decimal;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Prikaz mape</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<style>
#map {
height: 600px;
width: 1300px;
}
</style>
</head>
<body>
<form>
<input type="text" id="la" value="<?= $latitudeDecimal; ?>"/>
<input type="text" id="lo" value="<?= $longitudeDecimal;?>"/>
<div id="map"></div>
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
</form>
</body>
</html>
<script>
// Kreiranje mape
var la=document.getElementById("la").value;
var lo=document.getElementById("lo").value;
var map = L.map('map').setView([la, lo], 10);
// Dodavanje plocica mape
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
{
attribution: '© <a href="https://openstreetmap.org">otvori</a> contributors'
}).addTo(map);
// Definiranje ikone (slike) za marker
var myIcon = L.icon
(
{
iconUrl: 'slika.jpg',
iconSize: [38, 38],
iconAnchor: [19, 38],
popupAnchor: [0, -38]
}
);
// Dodavanje vase slike na kartu
var imageMarker = L.marker([la, lo], { icon: myIcon }).addTo(map);
imageMarker.bindPopup('Moj marker s slikom').openPopup();
//provjerava koji je taster misa pritisnut i mijenja velicinu slike na osnovu toga
imageMarker.on
('mousedown', function()
{
var mis=event.button;
if(mis==0)
{
var n=2;
}
else if(mis==2)
{
var n=0.5;
}
else
{
var n=1;
}
var x=myIcon.options.iconSize[0]*n ;
var y=myIcon.options.iconSize[1]*n ;
iconSize = [x, y];
iconAnchor = [30, 60];
popupAnchor = [0, -60];
myIcon.options.iconSize = iconSize;
myIcon.options.iconAnchor = iconAnchor;
myIcon.options.popupAnchor = popupAnchor;
imageMarker.setIcon(myIcon);
}
)
</script>