Перейдите на Google Maps версии 3 или перейдите в OpenLayers?

Я управляю разработкой некоторого программного обеспечения для веб-картографии для создания коллекций географических данных. Это довольно простой интерфейс для создания исторических карт. Проект основан на Google Maps v.2, а потому, что v.2 будет прекращен в 2013 году, мы подумали, что мы укусим пулю раньше и обновим до версии 3.

Оказывается, что большая работа требует полного пересмотра того, как работает часть карты нашего приложения. Мы должны переписать все наши пользовательские элементы управления Gmap, реструктурировать несколько частей приложения и несколько других больших изменений - например, v.3 не интегрируется с Google Earth, а также v.2, и мы используем Google Earth много. Из-за этого, и потому что мы начинаем использовать больше функций, которые Gmap не поддерживает изначально (например, карты WMS), мне было интересно, стоит ли переходить с Gmap на OpenLayers. Из того, что я понимаю, OpenLayers обладает всеми функциями Google Maps, имеет встроенную поддержку WMS и поддерживает гораздо больше форматов данных, позволяет использовать все изображения Google в любом случае и работает с KML.

Мой вопрос для сообщества для людей, которые знают OpenLayers и Google Maps: можете ли вы дать мне представление о том, как рабочая нагрузка для обновления с Gmap v.2 до v.3 сравнивается с полным портом из Gmap v.2 в OpenLayers? И о каких других недостатках мы должны знать?

Одна из наших самых больших проблем: мы много используем Google Earth. Если бы мы пошли в OpenLayers, нам пришлось бы сами синхронизировать Earth и OpenLayers, но это похоже на то, что мы должны были бы сделать в Gmap v.3. Из того, что я читал, OpenLayers не имеет встроенной поддержки Google Планета Земля или любого 3D-навигатора, но есть некоторые проекты (например, this), которые пытаются преодолеть разрыв. Сколько будет головной боли?

Ответ 1

Очень интересный вопрос!

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

Вы все равно должны взглянуть на OpenLayers. Вы упомянули, что вам уже нужна поддержка WMS, и, возможно, есть больше возможностей, которые поддерживает OpenLayers, а Google Maps - нет. OpenLayers поддерживает широкий спектр источников данных, открыт и соответствует стандартам OGC. Он поддерживает Google Карты, и если вы когда-нибудь решите перейти на Bing, Yahoo или ваши собственные карты, вам нужно будет внести незначительные изменения в свой код.

Ответ 2

Я был в той же ситуации. Я взглянул на openlayers и начал реализовывать некоторые функции в openlayers. Я смог заменить SOOOOO на многое из Google Maps api code всего несколькими строками в openlayers. Так что я продолжал идти, я мгновенно переработал в openlayers и сократил javascript, необходимый для этого более чем наполовину! Я также могу сделать гораздо больше! экспорт, импорт из всех видов форматов теперь представляют собой только строки кода, а не линии человека. OpenLayers полностью!