Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PZ_ilinov_5_3.docx
Скачиваний:
9
Добавлен:
06.06.2015
Размер:
4.88 Mб
Скачать

Приложение г

Файл «maps_test.php»:

<?php

/*

Данный файл открывает карту с настройками, указанными в файле `ini.txt` .

Для пребразования укзанного текстового файла в команды JSподключается файл `loadPointFromINI.php` .

Используется EXEприложением дляWindows`SavePage.EXE` .

*/

?>

<!DOCTYPE html>

<html>

<head>

<title>Онлайн-карта. Последняя сохраненная версия.</title>

<style>

html, body, #map-canvas {

height: 100%;

margin: 0px;

padding: 0px

}

</style>

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>

<script type="text/javascript" src="js/jquery.js"></script>

<?php

// Загрузка маркеров из INIфайла

include_once 'loadPointFromINI.php';

?>

<script>

// Глобальные переменные

varmap;

varmarkers= [];

// Фукнция создания карты

function initialize() {

var mapOptions = {

zoom: ZoomMaps,

center: new google.maps.LatLng( posMap_A, posMap_k )

};

map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

// Расстановка маркеров, загруженных из INIфайла

for (i = 0; i < markers_title.length; i++)

{

addMarker(new google.maps.LatLng(markers_A[i], markers_k[i]), markers_ICO[i]);

}

}

google.maps.event.addDomListener(window, 'load', initialize);

// Функция установки маркеров

function addMarker(location, ICO) {

var marker = new google.maps.Marker({

position: location,

map: map,

draggable: true,

icon: ICO,

title : ''//+type_ICO

});

markers.push(marker);

}

</script>

</head>

<body>

<div id="map-canvas"></div>

</body>

</html>

Приложение д

Файл «loadPointFromINI.php»:

<script>

/*

Данный файл открывает файл $NameFile,

после чего с помощью функции echo

распечатывает JavaScript - коды,

а именно настройки карты и

точки, отмеченные на карте.

Первые 2 строчки содержат k, A и масштаб карты,

в остальный через зпятую указаны Title, k, A и ICO_URL

*/

<?php

// Имя выбранного текстового файла

$NameFile = 'ini.txt';

// Переменная, в которую будет записываться исходный текст

$Line = '';

$markers = Array();

$i = 0;

$File = fopen($NameFile,"r");

while (!feof($File))

{

$Line[$i] = fgets($File);

$i++;

}

fclose($File);

$length = $i;

// Распечатка настроек карты.

$position_center = explode(', ',$Line[0]);

echo 'var posMap_k = '.$position_center[0]."\n";

echo 'var posMap_A = '.$position_center[1]."\n";

$zoom = $Line[1];

echo 'var ZoomMaps = '.$zoom."\n";

echo "var markers_title = []; var markers_k = []; var markers_A = []; var markers_ICO = [];\n";

for ($i = 2; $i < $length - 1; $i++)

{

// Преобразование строчки в настройки нового маркера.

$markers[$i] = explode(', ',$Line[$i]);

// Распечатка JS кодов.

echo "markers_title.push('" .$markers[$i][0]."');\n ";

echo "markers_ICO.push('" .$markers[$i][3]."');\n ";

echo "markers_k.push(" .$markers[$i][1].");\n ";

echo "markers_A.push(" .$markers[$i][2].");\n ";

echo "\n";

}

?>

</script>

Приложение е

Файл «loadPointFromXML.php»:

<?php

/*

Данный файл открывает файл $NameFile,

и преобразует файл XML в PHP - объект,

после чего с помощью функции echo

распечатывает JavaScript - коды,

а именно настройки карты и

точки, отмеченные на карте.

*/

?>

<?php

$Line = ''; $markers = Array(); $i = 0;

// Если нельзя открыть файл, то открыть файл test/xml.

if ((empty($NameFile)) or (!file_exists($NameFile)))

{ $NameFile = 'maps/test.xml';}

// Чтение файла.

$File = fopen($NameFile,"r");

while (!feof($File))

{

$Line .= fgets($File);

}

fclose($File);

// Создание экземпляра класса XML : SimpleXMLElement.

$RecentBooks = new SimpleXMLElement( $Line );

?>

<script>

<?php

// Распечатка настроек карт в виде JS - кода.

echo "var posMap_k = $RecentBooks->Centerk\n";

echo "var posMap_A = $RecentBooks->CenterA\n";

echo "var ZoomMaps = $RecentBooks->Zoom\n";

// Распечатка настроек маркеров.

echo "var markers_title = []; var markers_k = []; var markers_A = []; var markers_ICO = [];\n";

for ($i = 0; $i < count( $RecentBooks->Bools ); $i++)

{

echo "markers_title.push('" .$RecentBooks->Bools[$i]->Title."');\n "; // Заголовок маркера

echo "markers_ICO.push('" .$RecentBooks->Bools[$i]->Icon."');\n "; // URL - картинки

echo "markers_k.push(" .$RecentBooks->Bools[$i]->Position->k.");\n "; // Позиция k

echo "markers_A.push(" .$RecentBooks->Bools[$i]->Position->A.");\n "; // Позиция A

}

?>

</script>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]