私は定義された中心を持つ円を作成し、それにアイコンマーカーを置こうとしています。 OpenLayers.Geometry.Polygon.createRegularPolygonの代わりにイメージを使用すると、コードが動作しています。私はそれを解決することができませんでした。任意のヒントを事前にOpenlayers OpenStreetMapsレイヤーのポリゴンに円を描く
<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>
ありがとう:
は、ここであなたは私のコードを見つけます。
ありがとうございます!できます! – Lessfoe
@Lessfoe優れています。私の答えの横にあるチェックマークをクリックすることで、投票して回答を受け入れることで、私に信用を与えることを忘れないでください。ありがとう! – capdragon