定制地图logo

OpenLayers 3可以应用很多不同的地图源,同时作为一个引擎,开发者开发的产品才是最终面向用户的,所以对于logo的定制,是一个必然的需要,所幸的是OpenLayers 3能满足这种需要,比如下面这样:

看到右下角的猴子没?你可以换成任何其他的图标,因为今年是猴年,所以就用了它,希望你能喜欢。要做到这点也是非常的简单,代码如下:

<div id="map" style="width: 100%, height: 400px"></div>
<script>
  new ol.Map({
      controls: ol.control.defaults({
          attributionOptions: ({
            collapsible: false
          })
        }),
        // logo: false,     // 不显示logo
        // logo: 'face_monkey.png',     // 用一个图片 face_monkey.png 作为logo
        logo: {src: '../img/face_monkey.png', href: 'http://www.openstreetmap.org/'},    // 点击能跳转到对应页面
        layers: [
            new ol.layer.Tile({source: new ol.source.OSM()})
        ],
        view: new ol.View({
            center: [0, 0],
            zoom: 2
        }),
        target: 'map'
  });
</script>

上面的代码出现了一些我们不熟悉的东西,很显然猴子的出现肯定是因为设置了logo参数。注释掉的代码你也可以自行尝试,看看效果如何。

很高兴地看到除了logo参数之外,我们还设置了controls,从官网API可以了解到,它是设置地图控件的,以前没有设置,为什么现在要设置了? 注意对比现在的地图和之前的地图的右下角,一个是i,一个是展开的一串信息。这段代码就是干这事的。到此,你应该已经发现,右下角这个信息其实就是一个地图控件。关于更多控件的信息,后面会逐步引入。

我很喜欢每次都能学到一点新的东西,表明自己在不断前进,希望你也喜欢。