OSM (OpenLayers) 中的白线
White lines in OSM (OpenLayers)
我在 JSP 中有这段代码使用 OSM(OpenStreetMap,一个创建免费可编辑世界地图的协作项目)显示地图,但我在地图上看到一些白线
<div class="windowContentMap" >
<div id="Map" style="width: 97%; height: 94%"></div>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
var lat = '${lat}';
var lon = '${lng}';
var zoom = 9;
var fromProjection = new OpenLayers.Projection("EPSG:4326"); // Transform from WGS 1984
var toProjection = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
var position = new OpenLayers.LonLat(lon, lat).transform( fromProjection, toProjection);
map = new OpenLayers.Map("Map");
var mapnik = new OpenLayers.Layer.OSM();
map.addLayer(mapnik);
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
markers.addMarker(new OpenLayers.Marker(position));
map.setCenter(position, zoom);
var myLocation = new OpenLayers.Geometry.Point(lon, lat).transform('EPSG:4326', 'EPSG:3857');
</script>
</div>
</div>
.windowContentMap div{
height: 334px;
display: block;
border-left: 1px solid #efefef;
border-right: 1px solid #efefef;
}
我怀疑你的问题出在 CSS,而不是 JS/OpenLayers。
试试这个
</p>
<pre><code>#Map {
height: 334px;
display: block;
border-left: 1px solid #efefef;
border-right: 1px solid #efefef;
}
您正在为 div.windowContentMap 的所有 div 子元素设置边框,因此由 OpenLayers 创建的 div 也会设置边框。
我在 JSP 中有这段代码使用 OSM(OpenStreetMap,一个创建免费可编辑世界地图的协作项目)显示地图,但我在地图上看到一些白线
<div class="windowContentMap" >
<div id="Map" style="width: 97%; height: 94%"></div>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
var lat = '${lat}';
var lon = '${lng}';
var zoom = 9;
var fromProjection = new OpenLayers.Projection("EPSG:4326"); // Transform from WGS 1984
var toProjection = new OpenLayers.Projection("EPSG:900913"); // to Spherical Mercator Projection
var position = new OpenLayers.LonLat(lon, lat).transform( fromProjection, toProjection);
map = new OpenLayers.Map("Map");
var mapnik = new OpenLayers.Layer.OSM();
map.addLayer(mapnik);
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
markers.addMarker(new OpenLayers.Marker(position));
map.setCenter(position, zoom);
var myLocation = new OpenLayers.Geometry.Point(lon, lat).transform('EPSG:4326', 'EPSG:3857');
</script>
</div>
</div>
.windowContentMap div{
height: 334px;
display: block;
border-left: 1px solid #efefef;
border-right: 1px solid #efefef;
}
我怀疑你的问题出在 CSS,而不是 JS/OpenLayers。
试试这个
</p>
<pre><code>#Map {
height: 334px;
display: block;
border-left: 1px solid #efefef;
border-right: 1px solid #efefef;
}
您正在为 div.windowContentMap 的所有 div 子元素设置边框,因此由 OpenLayers 创建的 div 也会设置边框。