2011-02-13 158 views
11

我管理一些學術網站地圖軟件的開發,用於創作地理數據集合。這是一個非常簡單的用於創建歷史地圖的界面。該項目基於Google Maps v.2,並且由於v.2將在2013年停止使用,因此我們認爲我們會盡早啃咬,並升級到v.3。升級到谷歌地圖版本3,或去OpenLayers?

事實證明,這是一項艱鉅的工作,需要完全重新思考我們的應用程序的地圖部分是如何工作的。我們必須重寫所有定製的Gmap控件,重構應用程序的幾個部分以及其他一些重大變化 - 例如,v.3不會與Google Earth和v.2集成,我們使用Google Earth很多。正因爲如此,並且因爲我們開始使用Gmap不支持的更多功能(如WMS地圖),我一直在想,是否值得從Gmap切換到OpenLayers。據我所知,OpenLayers具有Google Maps的所有功能,對WMS有原生支持,並支持更多數據格式,讓我們可以使用所有Google圖像,並可與KML一起使用。

我對社區的問題是,對於瞭解OpenLayers和Google地圖的人:您能否告訴我一下,從Gmap v.2升級到v.3的工作負載與從Gmap v.2完整端口到OpenLayers?我們應該注意哪些其他缺點?

我們最大的擔憂之一是:我們使用Google Earth很多。如果我們去了OpenLayers,我們必須自己同步地球和OpenLayers,但聽起來這就是我們在Gmap v.3中必須做的事情。從我讀過的內容來看,OpenLayers沒有原生支持谷歌地球或任何類型的3D地理瀏覽器,但有一些項目(如this)試圖彌合差距。這會導致多少頭痛?

+0

供參考:截至2011年9月,Google地圖不再受OpenLayers支持([參見此提交](https://github.com/openlayers/openlayers/commit/663392b10e39fdfa254c3fd356791abfdbbbc24c))。 Google的ToS無法實現。 – Oliver 2011-11-29 13:16:00

回答

4

非常有趣的問題!

升級到較新版本的Google地圖應該不會浪費時間,因爲您已經有了工作代碼,即使您做出了必須做出重大更改,您也應該能夠重新使用代碼庫的某些部分。這只是我的猜測,因爲沒有看到代碼就很難更精確:)

你應該看看OpenLayers。您提到您已經需要WMS支持,並且可能還有更多OpenLayers支持的功能,而Google Maps則不支持。 OpenLayers支持各種數據源,是開放的並遵循OGC標準。它支持Google地圖,如果您有一天決定更改爲Bing,Yahoo或您自己的地圖,則只需對代碼進行微小更改即可。

+0

謝謝!我想你是正確的。我們看了OpenLayers,甚至在OpenLayers中重新實現了一部分代碼作爲實驗,但決定Google地圖有足夠的功能,我們需要這些功能,並堅持使用Google。我真的很喜歡OpenLayers,如果我重新開始,我可能會使用它,但是我們的項目更容易保持現有的狀態。 – 2011-02-18 06:06:40

2

我處於相同的情況。我看了一下openlayers,並開始在openlayers中實現一些功能。我能夠用openlayers中的幾行代替SOOOOO的google maps api代碼。所以我一直在努力,我很快就重新開發了openlayers,並且將所需的javascript減少了一半以上!我也能做得更多!導出,從各種格式導入現在只是代碼行而不是人行。 OpenLayers一路!