我正尝试用JPG文件在图像图层中创建一个像这样的中心的圆var center = {lat: 12.972876848034, lng: 77.589721116026}
(我在Google地图上选取此点)。但圆圈没有出现。EPSG画圆:4326坐标中心在图像层OpenLayers 2
这是我的代码。
<!DOCTYPE html>
<html>
<head>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
var map;
function init() {
var imgWidth = 1864;
var imgHeight = 1070;
var extend = new OpenLayers.Bounds(77.58356602859499, 12.965959702159019, 77.6046633014679, 12.976413580812167);
var layer = new OpenLayers.Layer.Image(
'Image layer',
'images/view.jpg',
extend,
new OpenLayers.Size(imgWidth, imgHeight),
{numZoomLevels: 6}
);
map = new OpenLayers.Map(
{
div: "mapdiv",
maxExtent: extend,
maxResolution: 156543,
numZoomLevels: 6
}
);
map.addLayers([layer]);
map.zoomToMaxExtent();
var center = {lat: 12.972876848034, lng: 77.589721116026}
var lonLat = new OpenLayers.LonLat(center.lng, center.lat)
var pCenter = new OpenLayers.Geometry.Point(lonLat.lon, lonLat.lat);
var circle = OpenLayers.Geometry.Polygon.createRegularPolygon(pCenter, 50, 70, 0);
var circleFeature = new OpenLayers.Feature.Vector(circle);
var circleStyle = new OpenLayers.StyleMap({'strokeColor': '#1E88E5', 'strokeWidth': 2});
var circleLayer = new OpenLayers.Layer.Vector("Route Layer", {styleMap: circleStyle});
circleLayer.addFeatures([circleFeature]);
}
init();
</script>
</head>
<body onload="init()">
<div style="height: 100vh" id="mapdiv"></div>
</body>
这是怎么造成的,我该如何解决呢? 在此先感谢您的任何建议。
请发布完整的可重复版本的代码。 – scai
@scai我更新了源代码,对不起! – dauruy