2012-11-21 2 views
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> 

답변

1

=) Omg! 그것은 단지 어리석은 실수였다. >>> var currPoint = new OpenLayers.Geometry.Point (dislon, dislat);