0

だから私はクリック時にOpenLayersでサークルを作成することができました。ただし、円は常にマップの原点に表示されるので、クリックした場所に表示したいと思います。これは私のコードです-

 circleStyle = {
      strokeColor: "#FF0000",
      strokeOpacity: 1,
      strokeWidth: 3,
      fillOpacity: 0.8
    }

lon = mapApp.get("mapModel").get("mouse").get("longitude")
    lat = mapApp.get("mapModel").get("mouse").get("latitude")
    circleLayer = new OpenLayers.Layer.Vector "Alpr GeoSearch"
    circle = new OpenLayers.Geometry.Polygon.createRegularPolygon(
      new OpenLayers.Geometry.Point(100,100),
      10000,
      60
      )
    feature = new OpenLayers.Feature.Vector(circle,testPoint,circleStyle)
    circleLayer.addFeatures(feature)
    console.log(circleLayer)
    mapApp.map.openLayersMap.addLayer circleLayer
4

1 に答える 1

0

私はここに何か欠けていますか、この行...

new OpenLayers.Geometry.Point(100,100),

きっとあるはず

new OpenLayers.Geometry.Point(lon,lat)

またはその逆(緯度、経度)、私は決して覚えていません。私が見る限り、あなたが使用しているコードは座標「100,100」のポイントで作成されており、取得した lon 変数と lat 変数を使用していません。

于 2012-08-13T10:14:04.597 に答える