HELP
Модератор: Tolik
-
nafa
- Новичок
- Сообщения: 25
- Зарегистрирован: 20 дек 2010, 10:53
- Благодарил (а): 2 раза
- Поблагодарили: 7 раз
Re: HELP
Удалось таки сделать. Данные для точек берутся с SQL сервера (база 1С Торговля). Доступ к редактированию точек естественно многопользовательский. Все именно так, как описано двумя постами выше. Если кому интересно, расскажу подробнее.

Re: HELP
nafa писал(а): Если кому интересно, расскажу подробнее.
интересно посмотреть на ваш kml файл
-
nafa
- Новичок
- Сообщения: 25
- Зарегистрирован: 20 дек 2010, 10:53
- Благодарил (а): 2 раза
- Поблагодарили: 7 раз
Re: HELP
интересно посмотреть на ваш kml файл
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<Placemark>
<name>77 Ленинградское ш. 71г</name>
<description>
<![CDATA[МЕТРО<br>Ленинградское ш. 71г<br>Приемка: 05.00-14.00]]>
</description>
<Point>
<coordinates>37.44731500,55.87578400,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>77 Коровинское шоссе 21</name>
<description>
<![CDATA[Сюда пишем описание точки, ссылка на веб-страницу точки и т.п.]]>
</description>
<Point>
<coordinates>37.52441700,55.87625800,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>77 Правобережная</name>
<description>
<![CDATA[АШАН]]>
</description>
<Point>
<coordinates>37.44923700,55.88079300,0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>77 Коровинское шоссе 24</name>
<description>
<![CDATA[7й Континент]]>
</description>
<Point>
<coordinates>37.51995200,55.88223700,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
Поверх карты нанесено ДВА слоя
Первый слой - из картинок, который Вы собственно и видите.
Второй слой - из КМЛ, он нужен для интерактивности (т.е. чтобы можно было посмотреть дополнительную информацию о точке (метке), отредактировать ее и т.п). От него Вы видите белые квадратики.
- Вложения
-
- y1277.gif (2.62 КБ) 8560 просмотров
-
nafa
- Новичок
- Сообщения: 25
- Зарегистрирован: 20 дек 2010, 10:53
- Благодарил (а): 2 раза
- Поблагодарили: 7 раз
Re: HELP
Расскажите, пожалуйста.
Объясняю. Есть таблица (неважно где) с точками, которые надо выводить на карту. Имеем следующие варианты вывода:
1. Сформировать на ее основании файл с метками. Достоинство этого метода - простота. Но: файл грузится один раз при запуске программы, а нередко нужно обновлять информацию оперативно.
2. Создать "слой" - то, что выводится поверх карты. Например, как Wikimapia.
Каждый слой состоит из кусочков (тайлов) 256х256. Слои программа SAS Планета получает по http. Самый распространенный http (веб) сервер - Apache, он бесплатный.
После включения слоя SAS Планета начинает запрашивать у веб-сервера тайлы. Я настроил запрос так, чтобы в нем передавались координаты двух углов (юго-западного и северо-восточного) тайла, а также асболютные номера картинки по x, y и увеличение zoom - т.е. полная информация о тайле.
Веб-сервер при получении запроса запускает скрипт (программу) на PHP (это самое распространенное средство скриптов для веб). Данный скрипт читает таблицу с точками, выбирает все точки, оказавшиеся в нужном нам тайле, формирует KML и возвращает веб-серверу, а тот SAS Планете.
Но: SAS Планета не позволяет вывести в KML слое картинки и надписи, а они нам нужны. Для того, чтобы их вывести, создаем по аналогичной схеме второй слой - "картиночный" (png). Теперь скрипт генерирует тайлы - картинки (пример выше). Большая часть- прозрачная (то, что отбражено черным на карте будет прозрачным). И на этой картиночке уже нанесены иконки меток и подписи (в PHP это очень просто делается). После совмещения карты, слоя картинок и слоя KML получаем картинку, как на скриншоте.
Точки удобнее хранить не в файле, а в базе данных. Можно использовать например бесплатный MySQL. Слово "сервер баз данных" не должно никого пугать - читать/писать данные в БД ничуть не сложнее, чем в обычный текстовый файл. Зато таблицу на сервере БД могут редактировать одновременно много пользователей. Вам про это думать не надо - это проблема сервера БД а не Ваша.
Если Вы хотите, чтобы точку можно было редактировать кликом по карте, то в описание точки необходимо включить адрес странички с формой редактирования соответствующей записи в БД.
- workdao
- Специалист
- Сообщения: 707
- Зарегистрирован: 14 дек 2008, 00:44
- Откуда: Курган
- Благодарил (а): 3 раза
- Поблагодарили: 40 раз
- Контактная информация:
Re: HELP
еще бы здорово было поддержку fusion tables сделать поскольку там можно генерировать слои и расставлять метки
http://45f.ru - Карты и спутниковые снимки Кургана и Курганской области
-
gpsMax
- Постигающий Дао
- Сообщения: 142
- Зарегистрирован: 02 апр 2010, 23:58
- Благодарил (а): 44 раза
- Поблагодарили: 9 раз
Re: HELP
Оп-па-па! Великолепная идея подвязать всё к БД. В реализации могут быть сложности (в частности, лень PHP-скрипты писать), но гибкость необычайная.
Я вот думал про отображение множества людей/машин на основе SAS. Разработчики некогда отослали эту проблему до написания основы для плагинов. А вот на основе таких динамических слоёв кривовато, геморройно, но в принципе можно такое сделать.
Я вот думал про отображение множества людей/машин на основе SAS. Разработчики некогда отослали эту проблему до написания основы для плагинов. А вот на основе таких динамических слоёв кривовато, геморройно, но в принципе можно такое сделать.
Re: HELP
подскажите
открыт слой "спутник google"
рисую метки и полигоны
если изменить масштаб на 20 и выше, то метки и полигоны не отображаются
если масштаб вернуть назад на 19, 18, 17 и т.д. - на этих масштабах всё отображается корректно
это баг или фича? как включить отображение меток\полигонов на 20+ масштабе?
p.s. версия 110216
открыт слой "спутник google"
рисую метки и полигоны
если изменить масштаб на 20 и выше, то метки и полигоны не отображаются
если масштаб вернуть назад на 19, 18, 17 и т.д. - на этих масштабах всё отображается корректно
это баг или фича? как включить отображение меток\полигонов на 20+ масштабе?
p.s. версия 110216
