我有一个功能,可以创建一个带有一个点的新图层,该图标可以在地图上显示。创建时,我希望地图缩放并设置该点的中心。 问题是只有当我平移或缩放地图(创建并以地图为中心)后才会显示图标。如果删除缩放和平移,图标将完美地显示在地图上。但是当我设置中心时,图标不可见。 在这里你可以看到它> 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);
}
答案 0 :(得分:1)
您的坐标值必须是数字,而不是字符串。删除引号:
geometry: new ol.geom.Point([536433.08, 6586576.42])