pandazx's blog

データ分析など雑多な技術ブログ

OpenLayersでサークルを表示

丸というかサークルをOpenLayersに表示する方法
以下のコードそのままは動かしてないので、動かないかも。あくまでイメージで。

var lonLat = new OpenLayers.LonLat(lon, lat).transform(
  new OpenLayers.Projection("EPSG:4326"),
  new OpenLayers.Projection("EPSG:900913")
);
var points = [];
points.push(new OpenLayers.Geometry.Point(lonLat.lon, lonLat.lat));
var pointsGeometry = new OpenLayers.Geometry.MultiPoint(points); 

var style = OpenLayers.Util.extend({}, OpenLayers.Feature.Vector.style['default']);
style.strokeColor = "red";
style.fillColor = "red";
style.strokeWidth = 3;

var pointFeature = new OpenLayers.Feature.Vector(pointsGeometry, "data", style);

var layer = new OpenLayers.Layer.Vector("Vector Layer");
map.addLayer(layer); // OpenLayers.Mapは作成済みとする
layer.addFeatures([pointFeature]);

なぜか、Pointクラスでは表示できず、MultiPointクラスに入れないとダメだった。

参考:OpenLayers Users - Simple Point display in OpenLayers