2015-05-31 2 views
0

В приложении Ruby on Rails мне нужно создать карту, наложенную на выделенные квадраты graticlues/grid.Как создать масштабируемую, прокручиваемую прокручиваемую карту с выбираемыми сетками?

Существует множество служб отображения (например, Google, OpenStreetMap и т. Д.), На самом деле приложение уже использует Карты Google в другом месте.

Но теперь мне нужно наложить карту сеткой, которая имеет селектируемые сетки.

Размеры сетки определяются (например, 1 градус) и должны выравниваться с линиями lat/lon (то есть, если вы прокручиваете, панорамируете и масштабируете карту).

Сетка помечена координатами x-y (например, ось X обозначена от A до Z, тогда как ось y обозначена от 1 до 30). Выбор graticule должен вернуть свои координаты x-y и обновить поле формы с этим значением.

Очевидно, я мог бы достичь этого, вырезав изображение карты и создавая кнопки из каждой плитки. Однако я бы тогда потерял возможность масштабирования и панорамирования.

Я хотел бы свести к минимуму количество библиотек, в которых нуждается приложение, и, где возможно, использовать уже используемые библиотеки, такие как Карты Google и D3.

После долгих поисковых запросов Google я не нашел ничего значимого. Где бы я начал создавать такую ​​функцию? Оцените любые предложения или указатели в правильном направлении.

ответ

0

Я думаю о чем-то подобном, потому что мне нужно будет написать такую ​​функцию в следующие месяцы. Я думал, что смогу имитировать это, создав ряд локализованных прямоугольных многоугольников, которые могут быть выбраны в соответствии с соответствующим событием щелчка, чем другие объекты с соответствующим z-индексом. Полигоны могут иметь края, цвета и непрозрачность, чтобы настроить внешний вид и форму. С этим предположением не требуется никакой дополнительной библиотеки javascript. Обычных карт Google более чем достаточно, и вся работа сосредоточена на управлении массивом полигонов, его населением в соответствии с сеткой, которую вы хотите выполнить, и управлением отдельным событием на полигоне. Одна из трудностей, с которой вы столкнетесь, если вы хотите отобразить текст. Карты Google не предоставляют инструменты, чтобы дать вам это, почему вам могут понадобиться дополнительные библиотеки, такие как http://google-maps-utility-library-v3.googlecode.com/svn/trunk/maplabel/examples/maplabel.html

Смежные вопросы