Создание карты отображения данных - PullRequest
1 голос
/ 06 марта 2012

Как можно было бы создать что-то вроде «карты выборов».т. е. карта страны, разделенная на области, которые затем окрашиваются в один или другой цвет на основе вспомогательных данных (которые в идеале можно затем просмотреть, если щелкнуть эти области).Я хочу сделать это с пользователями, добавляющими данные, и тогда их область почтового индекса становится одного или другого цвета в зависимости от того, что добавляют пользователи.Я предполагаю, что векторная графика - это то, что нужно: я еще ничего не сделал с html5, так что было бы неплохо разобраться, я не очень хочу разбираться во флэш.Мне сказали попробовать каким-то образом изменить карты Google, но ... это не похоже на то, что это будет работать правильно, и похоже на полицейский.Любой совет?

PS: чтобы сделать вещи еще более сложными ... есть ли в любом случае сделать так, чтобы предметы можно было включать или выключать (например, на примере карты выборов, расположение городов).Все, что я могу думать, - это отдельный svg, который накладывается на карту, но может непредсказуемо работать с масштабированием.

Ответы [ 3 ]

2 голосов
/ 06 марта 2012

Мой первый совет - не изобретать велосипед.Существует множество полезных библиотек и опций инфраструктуры, многие из которых бесплатны (как для пива, так и для речи).

Существует множество опций для обработки на стороне клиента.Для клиента Javascript вы можете использовать:

Из них я лично рекомендую OpenLayers как наиболее универсальный идействительно открытая структура на стороне клиента.

Этот вопрос по GIS.StackExchange содержит дополнительную информацию о претендентах в этой области.

Вам также понадобится какой-либо поставщикгеометрия / география карты, которую вы хотите символизировать.Для этой задачи есть несколько опций, вы могли бы использовать какой-то WMS (Web Map Service), у которых опции много и различны , или вы могли бы предоставить файлы в каком-то пространственном формате, таком как GML, KML или GeoJson.GeoJson, похоже, получает большую тягу как из-за простоты использования, так и из-за уменьшения полезной нагрузки.

Возможно, вы захотите подумать об обслуживании этого из серверной базы данных .Если вы хотите пойти по этому пути, я считаю PostGIS + GeoServer очень хорошим местом для начала, но существует так много вариантов и комбинаций.Хорошо то, что в этой области существуют устоявшиеся стандарты.

Наконец, ознакомьтесь с примерами того, чего можно достичь .

0 голосов
/ 06 марта 2012

Все, что вам нужно, это пакет веб-картографирования - например, OpenLayers - и затем вы просто пишете JavaScript для его запуска.Вы можете изменить цвет функций, вы можете включить или выключить их, вы можете делать все виды наложений, всплывающих окон и т. Д. Это все просто Javascript.

Перейдите на www.openlayers.org и посмотритечто он может сделать.

0 голосов
/ 06 марта 2012

HTML5-холст признан НЕ полезным для карт, так как он представляет собой просто расположение пикселей и не может реагировать на ввод. Для этого типа приложений должна использоваться векторная графика.Вероятно, вам понадобятся обработчики событий: ввод мыши, выход из мыши и щелчок области, которая интересует пользователя. В качестве практики перейдите к конвертеру на моем веб-сайте

http://irunmywebsite.com/raphael/SVGTOHTML_LIVE.php

Создайте крошечную карту в Inkscape, сохраните ее в виде файла SVG и загрузите ее по указанному выше URL-адресу

Посмотрите на вывод в окне js.

Это может помочь вам.Если застрял, оставьте сообщение ... C

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...