OpenLayers3创建图标并缩放到它

时间:2014-12-15 14:09:54

标签: icons openlayers-3

我有一个功能,可以创建一个带有一个点的新图层,该图标可以在地图上显示。创建时,我希望地图缩放并设置该点的中心。 问题是只有当我平移或缩放地图(创建并以地图为中心)后才会显示图标。如果删除缩放和平移,图标将完美地显示在地图上。但是当我设置中心时,图标不可见。 在这里你可以看到它> http://jsfiddle.net/anuket/1orw65g9/4/

function createIcon(){
        var newFeature = new ol.Feature({
            geometry: new ol.geom.Point(["536433.08", "6586576.42"])
        });
        var iconStyle = new ol.style.Style({
            image: new ol.style.Icon(({
                anchor: [0.5, 46],
                anchorXUnits: 'fraction',
                anchorYUnits: 'pixels',
                opacity: 0.75,
                src: 'http://ol3js.org/en/master/examples/data/icon.png'
            }))
        });
        var VectorSource = new ol.source.Vector({

        });
        VectorSource.addFeature(newFeature);
        var VectorLayer = new ol.layer.Vector({
            source: VectorSource,
            style: iconStyle
        });
        map.addLayer(VectorLayer);
        var coordinates = newFeature.getGeometry().getCoordinates();
        map.getView().setCenter(coordinates);
        map.getView().setZoom(2);
    }

1 个答案:

答案 0 :(得分:1)

您的坐标值必须是数字,而不是字符串。删除引号:

geometry: new ol.geom.Point([536433.08, 6586576.42])