使用OpenLayers在OpenStreetMap-tile上添加一个简单的点

时间:2016-02-22 13:25:05

标签: javascript openstreetmap point openlayers-3

我已经阅读了很多线程,试图在我的OpenStreetMap上添加一个简单的点(矢量图层)。我猜这是不同预测的问题,但我不能自己解决。

我在下面的代码中做错了什么?

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://openlayers.org/en/v3.13.1/build/ol.js" type="text/javascript"></script>
    <title>Openstret</title>
</head>
<body>
    <div id="map">
        <script type="text/javascript">

           var vectorSource = new ol.source.Vector();

            var iconFeature = new ol.Feature({
                geometry: new ol.geom.Point([0, 0])
            });

            vectorSource.addFeature(iconFeature);       

            var vectorLayer = new ol.layer.Vector({
                source: vectorSource
            });

            var olmap = new ol.Map({
                view: new ol.View({
                    center: [0, 0],
                    zoom: 2
                }),
                target: 'map'
            });

            var bakgrund = new ol.layer.Tile({source: new ol.source.OSM()});

            olmap.addLayer(bakgrund,vectorLayer);

        </script>

    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

ol.Map.addLayer只接受一个参数。您必须单独添加这两个图层。

更改

olmap.addLayer(bakgrund,vectorLayer);

olmap.addLayer(bakgrund);
olmap.addLayer(vectorLayer);

您还没有在任何地方添加ol.css文件。请务必将其添加进去。这是一个有效的JSFiddle