Pas*_*TIN 169 javascript google-maps openlayers
我曾经多次使用谷歌地图,但对OpenLayers感到疑惑.
在开始任何编码之前,我想到了几个问题,
我还没有尝试过,那些只是出了问题......
ato*_*gle 158
这些都是非常棒的问题!我是OpenLayers的专业开发人员和粉丝,因此我将从这个角度解决您的问题.
为什么我要使用OpenLayers而不是谷歌地图?
我根本不担心项目的长期可行性.它是首要的开源客户端映射库.
我可能遇到任何常见的陷阱/问题吗?
JavaScript框架兼容性
有很多地方可以使用地图吗?
是否有任何类型的API来显示道路?
你知道OpenLayers有什么好的教程吗?
我希望这很有用.如果您有任何问题,我会在Stack Overflow附近!
Nil*_*der 35
这不一定是OpenLayers或谷歌地图的问题.毕竟,您可以在OpenLayers中使用Google地图作为地图背景.一些更具体的答案:
为何选择OpenLayers?
陷阱
性能
JavaScript框架
可用的地图
Der*_*ley 23
我没有看到OpenLayers用户在SO上的存在,但他们在那里.该邮件列表的OpenLayers是相当活跃(我对用户和开发,并看到了一天讨论各种事情50-100电子邮件的任何地方.你可以从这些链接搜索列表了.).
我无法回答你的所有问题,但我要说的一件事是,OpenLayers和谷歌地图不是互相排斥的.OpenLayers是一个JavaScript库,您可以使用它与谷歌地图进行交互.看看这个例子:使用谷歌地图的OpenLayers.这是主要的OpenLayers示例页面.
nra*_*itz 13
此处尚未完全阐明的一点是,使用OpenLayers避免了Google对其地图API的服务条款的各种限制,包括:
您无法仅在网站中需要付费才能访问的部分或公共无法注册的私人网站(例如公司内部网)合法使用Google地图.(IANAL,但请参阅服务条款,9.1和常见问题解答)
您无法合法(或实际)将Google API用于离线应用程序(即,从您自己的计算机上提供切片的位置).即使没有法律限制,谷歌在技术上也非常困难,而OpenLayers则很容易.
如果您要显示包含令人反感的内容的地图,Google保留关闭API访问权的权利.常见问题解答中给出的例子是非法药物的地图,它可以很好地理解这种限制可能涵盖的灰色区域.
尽管如此,作为最近开始使用OpenLayers的长期谷歌地图开发人员,我觉得谷歌地图拥有更好的文档,更大的用户社区,以及比OpenLayers更清晰,更稳定的API.所以你必须在某个地方进行权衡.
And*_*yer 12
这实际上取决于你想要使用地图的内容.要在地图上简单地绘制点,Google地图就可以了.Google地图的地图图层也非常详细.另一方面,OpenLayers提供了更多的功能,并且非常易于扩展.
OpenLayers有很多例子可以帮助您入门.
至于地图,OpenLayers只是一个API,所以你需要提供它来映射图层.Google Maps API仅限于Google提供的地图图层.使用OpenLayer,您几乎可以显示任何可公开获得的地图服务(WMS,WFS,TMS,WMS-C).一个很好的例子是openstreetmap.org - (社区收集的全球街道地图).OSM可以作为TMS层添加到openlayers.查看此示例以获取说明.
有些客户可能会拒绝或强烈保留使用Google地图.他们可能有一些有效的担忧,谷歌可能会引入广告或更改API而不另行通知.但是,Google地图确实可以与其他Google服务(地标,添加照片,地理编码服务)集成.作为Web,您始终可以组合许多不同的地图服务和API.
我同意所有的答案,但有一个非常重要的一点,没有人提到.OpenLayers和Google Maps有不同的目标.
OpenLayer是一个显示地理数据的优秀框架,但Google地图是一个服务池,包括一个在其他服务中显示地理数据的框架.
因此,Google地图提供了许多OpenLayes所没有的服务和功能.Google地图功能和服务的一些示例包括区域本地化,传感器检测(适用于带GPS的设备)和用户本地化,地理编码和反向地理编码,街景等.
我使用过这两种API.我为公司制作软件,这个软件需要映射,但并非所有客户都拥有GoogleMaps许可证,所以我需要支持这两种类型的地图.
我已经制作了一个通用的API来抽象它们之间的差异,让我告诉你,有些东西比其他东西更容易做.就像限制你可以平移地图的范围一样,在OpenLayers中做起来容易得多,但是热图在GoogleMaps上更容易使用(谷歌正式支持它,与可用的OpenLayers插件不同).
OpenLayers支持离线地图.我的一些用户在没有互联网连接的私人内部网中.
GoogleMaps有两个绝对必须拥有的插件,MarkCluster 和Spiderfier,可以显示大量的标记.
GoogleMaps InfoWindows比OpenLayers.Popups更易于使用且具有更好的可用性.这些是您在单击标记时可以打开的小窗口.默认情况下,Googlemaps InfoWindows也更漂亮,你必须使用Popups做一些CSS魔法.
GoogleMaps有街景,有时很有用.
GoogleMaps拥有您可能需要的更多功能.虽然OpenLayers中也存在许多功能,但尚未得到官方支持.
通常最后你应该使用OpenLayers,因为你可能会从googlemaps的许可和带宽使用中减少头痛.两者都处理基本映射(即,在地图顶部显示标记).除非您能从另一个不存在的特定功能中找到特定功能,否则您应该选择OpenLayers.请参阅此有关的GoogleMaps计费和时,你可以免费使用它的更多信息.
另外GoogleMaps的基本地理定位类型为'LatLng',而Openlayers使用'LonLat',这让我感到疯狂,因为我一直误认为函数调用中的参数顺序.
| 归档时间: |
|
| 查看次数: |
48306 次 |
| 最近记录: |