SASGIS - Доработка карты (ZMP)
View Issue Details
0000127Доработка карты (ZMP)Доработка файла картыpublic27-09-2010 09:2114-06-2013 12:52
Tikh 
Garl 
normalfeaturehave not tried
assignedopen 
0000127: Добавить всплывающую подсказку при наведении мыши на объекты Яндекс.Народная карта, аналогично объектам Wikimapia
Сейчас в САС.Планете если навести мышью на объекты Викимапии, то появится всплывающая подсказка у курсора с названием объекта.

Хотелось бы аналогичного для объектов Яндекс.Народная карта.

Т.к. мелкие объекты Викимапии сейчас смотреть удобно, а для того чтобы увидеть название мелких объектов Народной карты приходится сильно увеличивать масштаб.
wikimapia
parent of 0000974confirmed  SAS.Планета Сохранение полигонов Яндекс.Народ 
parent of 0001960confirmed  SAS.Планета Импорт формата geojson 
has duplicate 0001863closed vdemidov SAS.Планета Хотелось бы, чтобы на карте были всплывающие подсказки 
related to 0001638confirmed  SAS.Планета Поддержка векторного слоя на основе JSON, как WikiMapia 
related to 0001951closed vasketsov SACS.Планета Вылет сразу после загрузки из-за попытки открыть хранилище неизвестного типа 
Not all the children of this issue are yet resolved or closed.
rar YaNarodMap-Vector.zmp.rar (2,560) 07-03-2013 12:27
http://www.sasgis.org/mantis/file_download.php?file_id=1303&type=bug
Issue History
27-09-2010 09:21TikhNew Issue
27-09-2010 11:16vdemidovNote Added: 0000236
27-09-2010 11:16vdemidovAssigned To => vdemidov
27-09-2010 11:16vdemidovStatusnew => feedback
27-09-2010 12:54TikhNote Added: 0000238
27-09-2010 12:54TikhStatusfeedback => assigned
30-09-2010 14:00vdemidovAssigned Tovdemidov => Garl
30-09-2010 14:00vdemidovCategoryХотелка => Доработка файла карты (ZMP)
07-11-2010 19:38gpsMaxTag Attached: wikimapia
08-11-2010 00:30gpsMaxNote Added: 0000420
07-04-2011 07:48TolikNote Added: 0001592
07-04-2011 11:45gpsMaxNote Added: 0001597
17-04-2011 20:45vdemidovProjectSAS.Планета => Доработка карты (ZMP)
19-04-2011 07:51vdemidovCategoryДоработка файла карты (ZMP) => Доработка файла карты
13-09-2011 04:45gpsMaxRelationship addedhas duplicate 0000974
13-09-2011 04:46gpsMaxNote Added: 0003894
13-09-2011 04:49TolikNote Added: 0003895
13-09-2011 04:50TolikNote Edited: 0003895bug_revision_view_page.php?bugnote_id=3895#r1955
13-09-2011 12:41feyaRelationship deletedhas duplicate 0000974
13-09-2011 12:48feyaRelationship addedparent of 0000974
18-10-2012 10:51vdemidovRelationship addedrelated to 0001638
07-03-2013 12:26vasketsovNote Added: 0010840
07-03-2013 12:27vasketsovFile Added: YaNarodMap-Vector.zmp.rar
07-03-2013 12:45zedNote Added: 0010842
09-03-2013 12:09vasketsovNote Added: 0010852
19-03-2013 06:05TolikRelationship addedrelated to 0001863
19-03-2013 06:59vdemidovRelationship replacedhas duplicate 0001863
10-06-2013 18:41vasketsovRelationship addedrelated to 0001951
14-06-2013 12:52vasketsovRelationship addedparent of 0001960

Notes
(0000236)
vdemidov   
27-09-2010 11:16   
Если я ничего не путаю, то Яндекс.Народная карта скачивается в виде простых растров и показать что-то во всплывающей подсказке принципильно невозможно.
(0000238)
Tikh   
27-09-2010 12:54   
Возможно ли как-то скачивать её в том виде, в котором она отдаётся браузеру?
(0000420)
gpsMax   
08-11-2010 00:30   
Надо бы отписаться, отрицательный результат - тоже результат. В общем, я приступал к этой задаче пару раз, но так и не понял, как на этой карте подцепляется информация о полигонах. Тайлы там видны почти сразу, а вот контуры и текст я не нашел как вытащить. Тут надо сделать оговорку, что я, хоть и неплохо понимаю как работают HTTP и HTML, но далеко не специалист по вскрытию картосервисов.
(0001592)
Tolik   
07-04-2011 07:48   
Показывает подсказки и контуры этот скрипт: http://api-maps.yandex.ru/1.1.17/_YMaps.js
Но разобраться в нём непросто...
Кстати, помогает Deobfuscator: https://addons.mozilla.org/de/firefox/addon/javascript-deobfuscator/
(0001597)
gpsMax   
07-04-2011 11:45   
За аддон спасибо, надо будет посмотреть. Не сразу понял, что Wladimir Palant - это автор Adblock Plus.

У меня Firefox давно уже обвешан всякими полезными штуками. Ну, про Firebug вы, конечно, давно в курсе, с ним мало что сравнится по возможностям отладки, но можно упомянуть JavaScript Debugger.
(0003894)
gpsMax   
13-09-2011 04:46   
В 974-й хотелке приведены интересные данные.
(0003895)
Tolik   
13-09-2011 04:49   
(edited on: 13-09-2011 04:50)
Мне кажется, этот тикет надо вернуть в хотелки (SAS.Планета). Одной доработкой zmp тут не обойтись, надо писать код.

(0010840)
vasketsov   
07-03-2013 12:26   
Приаттачил zmp.

Дальше надо в сасе кодить.
1. Написать парсер json (он простой, ищем "geometry", потом конец геометрии, потом обрезаем всё до начала, берём имя + категорию + геометрию, по категории определяем настройки отображения, создаём полигон - и снова повторяем процедуру).
2. Зарегистрировать парсер json.
3. Научиться zip-овать каждый тайл в тайлохранилище, иначе распакованными json-ами загадится весь любой винт.
4. Ну и убедиться что хинты работают.

Мне стало лениво (((
(0010842)
zed   
07-03-2013 12:45   
>Дальше надо в сасе кодить.
Или браться за perl, парсить и конвертить ответы сервера в kmz, и далее, отдавать уже САСу что он понимает.
(0010852)
vasketsov   
09-03-2013 12:09   
Можно конечно и через kml конвертить, но сразу теряем оригинальный размер тайла (либо допиливать тайлохранилище, впрочем может быть можно и допилить, потому что если гзипить потайлово - проблема будет та же).

А кроме того на примере конкретного объекта:
{"id":4671935,
"categoryId":"adm-plant",
"title":"ОЗАТЭ",
"hotspots":[{"id":4671935,"offsets":[[56,182],[0,182],[1,241],[54,242],[56,182]]}],
"geometry":{
    "type":"polygon",
    "data":[[[[44.675225057,43.007966847],[44.670422897,43.007960203],[44.670537896,43.004267018],[44.675113577,43.004179293],[44.675225057,43.007966847]]]]}},

В kml надо вытаскивать (в соответствующем формате):
"id":4671935
"categoryId":"adm-plant"
"title":"ОЗАТЭ"
"type":"polygon" (косвенно через выбор тэга)
"data":[[[[44.675225057,43.007966847],[44.670422897,43.007960203],[44.670537896,43.004267018],[44.675113577,43.004179293],[44.675225057,43.007966847]]]]

Со всем проблем нет (всё отлично ложится на Placemark), кроме поля:
"categoryId":"adm-plant"

По сути - это стиль отображения, а расово верный kml может описать именованный стиль только ссылкой на стиль, либо внутренний, либо внешний, а хочется натягивать цветА и ширИны не в скрипте, а снаружи в сасе. В общем даже тут вопрос, и однозначно идеального решения нет, ну не организовывать же сервер стилей через sas://, он просто загнётся при отображении слоя.