openlayers для мобильных устройств - PullRequest
4 голосов
/ 05 августа 2011

Вопрос новичка: при разработке мобильных веб-приложений с использованием openlayers, какой файл 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;однако, если я не включу openlayers.js, а вместо этого добавлю openlayer.mobile, то "Openlayers.layer.Google" не будет распознан.

Спасибо за любые ответы!

1 Ответ

7 голосов
/ 05 августа 2011

По умолчанию 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).

Вотхорошее руководство о том, как вы это делаете.

...