Как отобразить и зафиксировать выбор пользователя на карте страны - PullRequest
0 голосов
/ 28 июня 2010

Мы хотели бы отобразить все страны по континентам (например, Азия, Европа, Южная Америка, Африка ...) и зафиксировать выбор пользователя конкретной страны на континенте. Какие варианты доступны для достижения этой цели? Это было бы очень похоже на определение стран на карте в freerice . Я не уверен в доступных вариантах, кроме карт Google, но не уверен, что это можно сделать с помощью API карт Google также. Нужно какое-то направление на это.

РЕДАКТИРОВАТЬ: наше приложение на основе Java EE 5, разработанное с использованием java, seam, richfaces и развернутое в контейнере jboss 5.1

Ответы [ 3 ]

2 голосов
/ 28 июня 2010

Я предполагаю, что вы хотите создать интерактивную карту для пользователей, чтобы выбрать страну - например, this Map .

Это можно сделать с помощью карты изображений HTML или Flash.,В обоих случаях вам нужно будет вручную определить активируемые горячие точки.

Если у вас есть только несколько выбираемых областей (а не каждая страна на планете), можно использовать Google Maps с пользовательскими маркерами (чтобы смешать их)со стилем вашего сайта) каждый со своими обработчиками кликов для обработки выбора.

1 голос
/ 28 июня 2010

Вы можете сделать это с помощью HTML и CSS.И, возможно, используйте JavaScript для вашей функциональности.

Вот пример: http://www.cssplay.co.uk/menu/imap.html

0 голосов
/ 28 июня 2010

Я не понимаю отрицательного ответа на ваш вопрос.Конечно, это очень расплывчато, поскольку вы не указываете интерфейс, который будет использоваться для этого (это клиент рабочего стола Java, решение на основе JavaScript ...)

Я могу только посоветовать случай Java Swingздесь это идет.Лучше всего сначала найти векторную карту мира с различными формами для каждой страны (или создать ее самостоятельно).Затем вы можете преобразовать фигуры в фигуры java2D, создать масштабируемую JPanel (проще, чем кажется, поверьте мне) и просто проверить щелчки мышью по всем фигурам страны с помощью метода contains (Point p).(конечно, вы должны будете принять во внимание трансформации масштабирования панели, но, как я уже сказал, это гораздо проще, чем кажется).

Боюсь, я не могу более подробно остановиться на примерах кода, потому чтохотя это «проще, чем кажется», это не пятиминутное решение :)

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