Я пытаюсь создать коллаж из карт Google, который будет показывать местоположение каждого изображения, которое я делаю на своем мобильном телефоне. У меня возникли некоторые проблемы с этим, и я не смог найти что-либо на Google, чтобы помочь мне.
По сути, у меня есть скрипт, который находит все изображения в папке и помещает имена этих изображений в массив - вот этот скрипт:
<?php
// create a handler for the directory
$handler = opendir("images");
// open directory and walk through the filenames
while ($file = readdir($handler)) {
// if file isn't this directory or its parent, add it to the results
if ($file != "." && $file != "..") {
$results[] = $file;
}
}
// tidy up: close the handler
closedir($handler);
// done!
print_r ($results);
?>
Это дает мне следующий массив:
Array
(
[0] => IMAG0005.jpg
[1] => IMAG0030.jpg
)
Эта часть в порядке и работает как положено. Теперь я использую этот массив для получения необходимых данных EXIF для каждого изображения. Проблема в том, что если я использую массив для вывода, я получаю два отдельных массива и не могу с ними что-либо сделать, чтобы создать новые маркеры на карте. Я использую следующий код для получения данных EXIF
for ($i = 0; $i < count($results); ++$i) {
//print $results[$i];
$arrPhotoExif = exif_read_data('images/'.$results[$i]);
$intLatDeg = GpsDivide($arrPhotoExif["GPSLatitude"][0]);
$intLatMin = GpsDivide($arrPhotoExif["GPSLatitude"][1]);
$intLatSec = GpsDivide($arrPhotoExif["GPSLatitude"][2]);
$intLongDeg = GpsDivide($arrPhotoExif["GPSLongitude"][0]);
$intLongMin = GpsDivide($arrPhotoExif["GPSLongitude"][1]);
$intLongSec = GpsDivide($arrPhotoExif["GPSLongitude"][2]);
// round to 5 = approximately 1 meter accuracy
$intLatitude = round(DegToDec($arrPhotoExif["GPSLatitudeRef"],
$intLatDeg,$intLatMin,$intLatSec),5);
$intLongitude = round(DegToDec($arrPhotoExif["GPSLongitudeRef"],
$intLongDeg,$intLongMin,$intLongSec), 5);
$markers = array("$intLatitude, $intLongitude");
print_r($markers);
Этот последний фрагмент кода печатает это как массив:
Array
(
[0] => 51.508742, -0.134583
)
Array
(
[0] => 38.410558, 17.314453
)
Я не могу использовать это для перечисления маркеров - в соответствии с документацией Google код должен выглядеть следующим образом для создания новых маркеров на карте.
var marker = new google.maps.Marker({
position: **THIS IS WHERE I NEED TO OUTPUT THE GPS CO-ORDS**,
map: map,
title:"Hello World!"
});
Если я попытаюсь пройтись по массиву маркеров, я получу только один результат, очевидно, поскольку он создает два массива только с одним фрагментом данных в каждом.
Кто-нибудь может помочь, пожалуйста, указать в правильном направлении? Я хочу учиться и не ожидаю, что меня обманывают, если кто-то может просто помочь мне сдвинуть мяч с места, я могу забрать оттуда.
Спасибо, я знаю, что это довольно длинный пост.
Приветствия