- •Введение
- •Постановка задачи
- •Изучение предметной области
- •Аналоги
- •Система
- •Онлайн - карты
- •Актуальность
- •Функциональные требования к программному продукту
- •Функциональные требования к онлайн – карте
- •Характеристика выбранных программных сред и средств
- •Диаграмма взаимодействия проектов
- •Возможные способы реализации:
- •Описание входных/выходных данных
- •Входные данные
- •Выходные данные
- •Описание структуры базы данных
- •Файл «paint.Php»
- •Файл«Ajax_start_exe.Php»
- •Список использованных источников
- •Приложения Приложение а.
- •Приложение б
- •Приложение в
- •Приложение г
- •Приложение д
- •Приложение е
Приложение г
Файл «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>