正如我从readme
文件中看到的那样,openlayers.js
包含文件和主题有多种选择。
我想要的是使用这些lightest solution of openlayers.js
文件。
我将它包含openlayers.light.js
在我的应用程序中,它会创建地图但不显示它们,请检查:
我忘了包含其他文件吗?
我的结构结构是这样的:
/vendor
/js
openlayers.light.js
/img
/theme
如何显示地图图层?
也可以openlayers.light.js
在移动设备上使用(一旦解决了这个问题:P)?还是我也需要包括在内openlayers.mobile.js
?
这是不与 openlayers.light.js 一起使用但与 openlayers.js (740kb) 一起使用的代码:
var _element = "#map";
var map = new OpenLayers.Map (_element, {
controls: [
new OpenLayers.Control.Navigation({
dragPanOptions: {
enableKinetic: true
}
}),
new OpenLayers.Control.Zoom()
],
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326")
});
var lonLat = new OpenLayers.LonLat(_lon, _lat).transform (
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
// map.getProjectionObject() doesn't work for unknown reason
);
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
var size = new OpenLayers.Size(21,25);
var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
var icon = new OpenLayers.Icon(_img_map_marker, size, offset);
markers.addMarker(new OpenLayers.Marker(lonLat, icon.clone()));
var mapnik = new OpenLayers.Layer.OSM("Test");
map.addLayer(mapnik);
map.setCenter (lonLat,3);
PS:我的 openlayers map js init 方法没问题,它可以使用 huge openlayers.js (740KB)
,但不能与 openlayers.light.js 一起使用,如我上面所示
html
<div id="map"></div>
css
img{max-width:none;}
#map{
width:300px;
height:300px;
}