我有这个带有2 OpenLayers的Thymeleaf (一个开放源码Javascript库,用于在网页上加载、显示和呈现来自多个源的地图)标记,但是页面中只显示了一个
<div id="Map">
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script th:inline="javascript">
/*<![CDATA[*/
var lat = /*[[${lat}]]*/ ;
var lon = /*[[${lng}]]*/ ;
var zoom = 18;
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);
var position2 = new OpenLayers.LonLat('4.373067', '50.828010').transform(fromProjection, toProjection);
var size = new OpenLayers.Size(32, 48);
var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h);
var icon = new OpenLayers.Icon('../../../images_pebloc/map_marker.png', size, offset);
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, icon));
markers.addMarker(new OpenLayers.Marker(position2, icon));
map.setCenter(position, zoom);
var myLocation = new OpenLayers.Geometry.Point(lon, lat).transform('EPSG:4326', 'EPSG:3857');
/*]]>*/
</script>
</div>发布于 2017-03-18 11:26:31
OpenLayers.LonLat期望数字作为参数,而不是字符串。因此,将position2的定义更改为
var position2 = new OpenLayers.LonLat(4.373067, 50.828010).transform(fromProjection, toProjection);https://stackoverflow.com/questions/42861189
复制相似问题