2011-08-05 26 views
4

一個新手問題:在使用開放層的移動Web開發中,我需要在頭文件中包含哪些lib文件?我的意思是,它是openlayers.js還是openlayers.mobile.js?移動設備的開放層

<script type="text/javascript" src="lib/OpenLayers.mobile.js"></script> 

<script type="text/javascript" src="lib/OpenLayers.js"></script> 

會不會有在實踐中一些區別?

我問這個問題的原因是我想用GoogleMaps開發一個mashup應用程序;不過,如果我不包含openlayers.js,而是放置了openlayer.mobile,那麼「Openlayers.layer.Google」將不會被識別。

感謝您的回覆!

回答

7

默認OpenLayers.mobile.js是建立與「mobile.cfg」輪廓,看起來像這樣:

[first] 

[last] 

[include] 
OpenLayers/Map.js 
OpenLayers/Kinetic.js 
OpenLayers/Projection.js 
OpenLayers/Layer/SphericalMercator.js 
OpenLayers/Layer/XYZ.js 
OpenLayers/Layer/Bing.js 
OpenLayers/Layer/WMS.js 
OpenLayers/Format/WMSGetFeatureInfo.js 
OpenLayers/Control/TouchNavigation.js 
OpenLayers/Control/Geolocate.js 
OpenLayers/Control/ZoomPanel.js 
OpenLayers/Control/Attribution.js 
OpenLayers/Control/SelectFeature.js 
OpenLayers/Control/DrawFeature.js 
OpenLayers/Control/ModifyFeature.js 
OpenLayers/Control/WMSGetFeatureInfo.js 
OpenLayers/Control/Panel.js 
OpenLayers/Handler/Point.js 
OpenLayers/Handler/Path.js 
OpenLayers/Handler/Polygon.js 
OpenLayers/Layer/Vector.js 
OpenLayers/Layer/TileCache.js 
OpenLayers/Renderer/SVG.js 
OpenLayers/Renderer/Canvas.js 
OpenLayers/Format/GeoJSON.js 
OpenLayers/Format/KML.js 
OpenLayers/Protocol/HTTP.js 
OpenLayers/Protocol/WFS.js 
OpenLayers/Protocol/WFS/v1_0_0.js 
OpenLayers/Strategy/Fixed.js 

[exclude] 

正如你可以看到在它裏面沒有OpenLayers.Layer.Google。這就是爲什麼你會得到錯誤。 所以我建議你繼續並建立你自己的OpenLayers版本,它只包含你需要的東西(你可能想要的,例如,刪除OpenLayers.Layer.Bing)。

Here is a good guide你是如何做到的。

+0

非常好的建議。但爲什麼不包括整個「openlayers.js」?你認爲「openlayers.js」中的所有功能都可以在移動設備中得到很好的支持嗎?謝謝! – Simon

+0

僅僅是因爲移動用戶通常在移動互聯網連接上並不快並且加載整個OpenLayers庫(大約1 MB)需要相當長的一段時間。我沒有嘗試使用移動設備上的所有Openlayers功能,但最常見的功能(如顯示不同類型的圖層,繪圖,測量等)應該可以工作。 – igorti