2011-02-13 153 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一路!