Tôi đang cố gắng tạo một vòng tròn với một trung tâm được xác định và đặt một điểm đánh dấu biểu tượng lên đó. Mã này hoạt động nếu tôi sử dụng hình ảnh thay vì OpenLayers.Geometry.Polygon.createRegularPolygon. Tôi đã không thể giải quyết nó.Vòng tròn mở rộng Đa giác trên lớp OpenStreetMaps
đây bạn tìm thấy mã của tôi:
<html>
<head>
<title>OpenLayers Example</title>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
</head>
<body>
<div id="mapdiv"></div>
<script>
map = new OpenLayers.Map("mapdiv");
map.addLayer(new OpenLayers.Layer.OSM());
epsg4326 = new OpenLayers.Projection("EPSG:4326"); //WGS 1984 projection
projectTo = map.getProjectionObject(); //The map projection (Spherical Mercator)
var lonLat = new OpenLayers.LonLat(-0.1279688 ,51.5077286).transform(epsg4326, projectTo);
var zoom=6;
map.setCenter (lonLat, zoom);
var mycircle = OpenLayers.Geometry.Polygon.createRegularPolygon(
new OpenLayers.Geometry.Point(lonLat),
1,
30
);
var featurecircle = new OpenLayers.Feature.Vector(mycircle);
var vectorLayer = new OpenLayers.Layer.Vector("Overlay");
// Define markers as "features" of the vector layer:
vectorLayer.addFeatures(featurecircle);
var feature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point(-0.1244324, 51.5006728 ).transform(epsg4326, projectTo),
{description:'info'} ,
{externalGraphic: 'img/marker.png', graphicHeight: 25, graphicWidth: 21, graphicXOffset:-12, graphicYOffset:-25 }
);
vectorLayer.addFeatures(feature);
map.addLayer(vectorLayer);
</script>
</body>
</html>
Cảm ơn trước cho bất cứ lời khuyên.
Cảm ơn rất nhiều! nó hoạt động! – Lessfoe
@Lessfoe Tuyệt vời. Đừng quên cho tôi tín dụng bằng cách bỏ phiếu và chấp nhận câu trả lời bằng cách nhấp vào dấu kiểm bên cạnh câu trả lời của tôi. Cảm ơn! – capdragon