0
스타일이 지정된 벡터 레이어가 보이지 않는 이유를 이해할 수 없습니까? 그것은 기능이없는 것 같지만 왜? 이 코드에는 실수가 있습니까? OSM, Google Layers가 보이고 LayerSwitcher (그리고 거기에있는 오버레이 "Vectorlayer")에서도 사용할 수 있습니다. 아이콘의 URL이 정확합니다.OpenLayers 벡터 기능/레이어 보이지 않음 (렌더링하지 않음)
<html>
<head>
<meta charset="utf-8" />
<title>Index</title>
<link href="/Content/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript"></script>
<script src="/Scripts/OpenLayers.js" type="text/javascript"></script>
<script type="text/javascript">
function Startit() {
var dislon = 30.4958316666667;
var dislat = 59.9168383333333;
var lonlat = new OpenLayers.LonLat(dislon, dislat);
var map = new OpenLayers.Map({div: "mapcontent",projection: new OpenLayers.Projection("EPSG:900913")});
var maposm = new OpenLayers.Layer.OSM("OSM");
var gmap = new OpenLayers.Layer.Google("Google", { numZoomLevels: 20 });
var ghyb = new OpenLayers.Layer.Google("Google Earth", { type: google.maps.MapTypeId.HYBRID, numZoomLevels: 20 });
map.addLayers([maposm, gmap, ghyb]);
lonlat.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));
map.setCenter(lonlat, 11);
var lSwitch = new OpenLayers.Control.LayerSwitcher();
map.addControl(lSwitch);
var sdLayer = new OpenLayers.Layer.Vector("VectorLayer");
var cStyle = { externalGraphic: "/images/icons/blue.png", graphicWidth: 35, graphicHeight: 35 };
var currPoint = OpenLayers.Geometry.Point(dislon,dislat);
var ft = new OpenLayers.Feature.Vector(currPoint, null, cStyle);
map.addLayer(sdLayer);
sdLayer.addFeatures([ft]);
}
</script>
</head>
<body onload="Startit();">
<div id="mapcontent" style="width:500px;height:400px;"></div>
</body>
</html>