移动设备的开放层

Sim*_*mon 4 mobile google-maps mashup openlayers sencha-touch

一个新手问题:在使用openlayers的移动Web开发中,我需要在头文件中包含哪个lib文件?我的意思是,它是openlayers.js还是openlayers.mobile.js?

<script type="text/javascript" src="lib/OpenLayers.mobile.js"></script>
Run Code Online (Sandbox Code Playgroud)

要么

<script type="text/javascript" src="lib/OpenLayers.js"></script>
Run Code Online (Sandbox Code Playgroud)

在实践中会有一些差异吗?

我之所以这么说是因为我想用GoogleMaps开发一个mashup应用程序; 但是,如果我不包含openlayers.js而是放置openlayer.mobile,则"Openlayers.layer.Google"将无法识别.

谢谢你的回复!

igo*_*rti 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]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,其中没有OpenLayers.Layer.Google.这就是你收到错误的原因.所以我建议你继续构建自己的OpenLayers版本,它只包含你需要的东西(例如,你可能需要删除OpenLayers.Layer.Bing).

这是一个很好的指导你如何做到这一点.