- •2014 Содержание
- •Введение
- •Постановка задачи
- •Изучение предметной области
- •Аналоги
- •Система
- •Онлайн - карты
- •Актуальность
- •Функциональные требования к программному продукту
- •Функциональные требования к онлайн – карте
- •Характеристика выбранных программных сред и средств
- •Диаграмма взаимодействия проектов
- •Возможные способы реализации:
- •Описание входных/выходных данных
- •Входные данные
- •Выходные данные
- •Описание структуры базы данных
- •Файл «paint.Php»
- •Файл«Ajax_start_exe.Php»
- •Приложение 1.
Приложение 1.
Формат XML файла:
<?xmlversion="1.0"encoding="utf-8" ?>
<RecentBooks>
<CenterA> «X» </CenterA>
<Centerk> «Y» </Centerk>
<Zoom> «zoom» </Zoom>
<Bools>
<Title> «Title» </Title>
<Description> «Description» </Description>
<Position>
<A> «X» </A>
<k> «Y» </k>
</Position>
<Icon> «URL ICO» </Icon>
</Bools>
</RecentBooks>
Формат файла «delay.txt»
задержка при открытии
задержка на отрисовку карты
задержка при закрытии приложения
порядковый номер изображения
URL страницы, которой надо сделать скрин
Формат файла «ini.txt»
«Xцентра карты», «Yцентра карты»5
«Title», «Xметки», «Yметки», «ссылка на изображение», 0
Функции
Файл paint.php
include_once«loadPoint.php» – подключениефайла «loadPoint.php».
conv(alpha) – преобразование из координат вида (k,A) в вид (<>°<>`<>``,<>°<>`<>``).
unBlockInput – разблокировка всех полей ввода формы задания кооринат.
blockInput –блокировка всех полей ввода формы задания кооринат.
convertGrad (A, k) – обратное преобразование функции conv.
Initialize – создание карты и установка маркеров, указанных в «ini.txt».
addMarker(location, ICO_SET) –добавление маркера на карту.
$(document).ready – вызов анонимной функции после загрузки страницы.
generateXML() – создание XML– текста, а так же текста в файле «ini.txt».
print_result– распечататьXML, «ini.txt», а так же вывести ссылку на полученное изображение.
save_map() – сохранение карты в формате JPGиXML.
Файл Ajax_start_exe.php
if (!empty($_POST))
{
$fg = fopen("ini.txt","w");
fwrite($fg, $_POST['initFile']);
// Запись «ini.txt», текстпереданвмассиве $_POST.
$fg = fopen("bools.xml","w");
fwrite($fg, $_POST['xml']);
// Запись «bools.xml», текстпереданвмассиве $_POST.
echo system('start SavePage.exe');
// Запуск программы на стороне сервера.
$NameImage = ''; $NameImage_next = '';
$File = fopen('names.txt','r');
while (!feof($File))
{
$NameImage = $NameImage_next;
$NameImage_next=fgets($File);
}
// Получение имени последнего созданного файла.
fclose($File);
echo( $NameImage);
// Отправка имени последнего созданного файла в файл «paint.php».
}
Файл maps_test.php
Initialize – создание карты и установка маркеров, указанных в «ini.txt».
addMarker(location, ICO_SET) –добавление маркера на карту.
Файлload_point.php
$NameFile = 'ini.txt';
// Переменная, в которую будет записываться исходный текст.
$Line = '';
$markers = Array();
$i = 0;
// Чтениефайла «ini.txt».
$File = fopen($NameFile,"r");
while (!feof($File))
{
$Line[$i] = fgets($File);
$i++;
}
fclose($File);
$length= $i; // запоминание количества строк в файле.
// Преобразование строки в массив.
$position_center=explode(', ',$Line[0]);
//Распечатка JSкода создания и инициализации переменных центра карты.
echo 'varposMap_k = '.$position_center[0]."\n";
echo 'varposMap_A = '.$position_center[1]."\n";
$zoom= $Line[1];
// Распечатка JSкода создания и инициализации переменных масштаба карты.
echo 'varZoomMaps = '.$zoom."\n";
// РаспечаткаJSкода создания массивов.
echo "varmarkers_title = []; varmarkers_k = []; varmarkers_A = []; varmarkers_ICO = [];\n";
// Распечатка JSкода заполнения массивов маркеров.
for ($i = 2; $i< $length - 1; $i++)
{
$markers[$i] = explode(', ',$Line[$i]);
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";
}