2010-01-12 2 views
2

С самого начала я никогда не использовал карты Google в любой из моих программ/проектов, поэтому у меня мало знаний по этому вопросу. Кроме того, я нашел некоторые другие сообщения в SO о картах Google, но я не уверен, действительно ли кто-то из них действительно помогает в моей ситуации.Как добавить карту наложения по карте Google по умолчанию?

Что я хочу сделать, это добавить еще одну карту над уже существующей картой Google. Новая карта наложения будет иметь некоторую степень прозрачности, чтобы исходная карта Google также была видимой. Что-то вроде этого: http://crf.casa.ucl.ac.uk/screenRoute.aspx?s=386&d=105&w=False

Как это сделать? Какими технологиями я должен заниматься? Я разработчик Java, но любой ответ на любом языке был бы действительно полезен.

ответ

1

Это зависит от того, насколько подробно/большого оверлея должно быть. MapTiler является фантастическим, если вам нужно увеличить масштаб до очень подробного оверлея, но если ваши накладки не должны быть настолько огромными, я бы рекомендовал использовать GGroundOverlay (GroundOverlay in V3). Было бы довольно легко изменить динамически. Вот Google demo.

Что касается MapTiler - если у вас есть набор накладок, которые вы хотите изменить динамически, вы можете сгенерировать плитки для всех наложений, а затем легко переключаться между ними. Но если вы создаете оверлеи динамически, вам, вероятно, потребуется реализовать сервер плитки. Отъезд Mapnik и TileCache.

+0

Я думаю, что GGroundOverlay будет делать то, что я хочу! На самом деле, это моя вина, потому что я не сформулировал вопрос правильно, чтобы вы могли полностью понять, что я ищу. Я хочу создать какую-то игру, которая будет воспроизводиться на реальной карте, поэтому я хочу показать на существующей карте Google какие-то дома, замки и т. Д. Если у вас есть другие предложения, поделитесь ими со мной. Спасибо :) – Alex

+2

Ссылка на демонстрацию не работает – metasequoia

2

Предлагаю загрузить инструмент с открытым исходным кодом MapTiler (для Windows и Mac OS X).

Вам нужно будет использовать объект GMapType, чтобы определить свою собственную карту. MapTiler будет автоматизировать процесс разбивки для вас, и, кроме того, как только процесс разбивки будет завершен, он будет генерировать простой просмотрщик HTML. Он также будет включать настраиваемый элемент управления для изменения непрозрачности вашего наложения от 0 до 100%.

Custom Map Tile Overlays - довольно продвинутая тема в API Карт Google (даже документация предупредит вас об этом красным цветом). Тем не менее, я уверен, что вы сможете использовать и понять получателя HTML-просмотра MapTiler.

Ниже приведен пример того, что MapTiler способен производить (обратите внимание на ползунок на верхнем правом):

+0

Это очень хорошо решение. Но я бы предпочел сделать это с помощью кода, динамически, так как у меня нет одной статической карты, которую я хочу использовать в качестве наложения, но пришло время другое. – Alex

+0

Выполнение этого динамически - довольно сложный процесс. Вам нужно будет найти способ определения и динамического разбиения наложения на 256x256 плитки и отображения соответствующих фрагментов на карте с учетом текущих координат, и вам нужно будет определить, как ссылаться и отображать изображения в виде плитки. Также обратите внимание, что MapTiler занимает около двух часов, чтобы нанести квадратную карту размером 400 км для всех уровней масштабирования на моем iMac MB419. –

+0

Очевидно, что один из вариантов - проверить исходный код MapTiler и посмотреть, можете ли вы адаптировать алгоритмы черепицы к вашему приложению. –

0

Я рекомендую другое простое решение: OpenLayers.

См: http://openlayers.org/dev/examples/

Фильтр для «Google», откройте ссылку в новых окнах, и посмотреть, как это просто код.

OpenLayers - это JavaScript API (который может использоваться вместо API Google), но он может использовать много слоев.Вы можете смешать:

  • Google Maps
  • векторных объектов
  • растровых изображений
  • WMS объекты - Geoserver, Mapserver, Mapnik плитки (как это от OpenStreetMap)
Смежные вопросы