首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cartodb信息窗口不在地图上显示变量

Cartodb信息窗口不在地图上显示变量
EN

Stack Overflow用户
提问于 2016-05-10 19:14:41
回答 1查看 176关注 0票数 1

我正在设置一个社区地图,其中包括一些树坑的位置。地图可以在这里找到http://moabiter-baumscheiben.seedbomb.city/map/。我使用mapbox作为底图,使用cartodb来包含带有树坑标记的图层。

我设法让一个自定义信息窗口运行,但它不会显示我的cartobd数据库中的变量( {{img}}{{name}} )。

我找不到错误。如果有人能帮我的话就太好了。

我将所有mapbox和cartodb css和js都包含到了<head>中。

代码语言:javascript
复制
<link href='https://api.tiles.mapbox.com/mapbox.js/v2.2.1/mapbox.css' rel='stylesheet' />
<link rel="stylesheet" href="https://cartodb-libs.global.ssl.fastly.net/cartodb.js/v3/3.15/themes/css/cartodb.css" />
<script src="https://cartodb-libs.global.ssl.fastly.net/cartodb.js/v3/3.15/cartodb.uncompressed.js"></script>
<script src='https://api.tiles.mapbox.com/mapbox.js/v2.2.1/mapbox.standalone.js'></script>

是info窗口的脚本:

代码语言:javascript
复制
<script type="infowindow/html" id="infowindow_template">
    <div class="cartodb-popup v2">
        <a href="#close" class="cartodb-popup-close-button close">x</a>
        <div class="cartodb-popup-content-wrapper">
            <div class="cartodb-popup-header">
                <h1>Baumscheibe</h1>
            </div>
            <div class="cartodb-popup-content">
                <!-- content.data contains the field info -->
                <h3>Image:</h3> <img src="{{img}}">
                <h3>Gepflegt von: {{name}}</h3>
            </div>
        </div>
        <div class="cartodb-popup-tip-container"></div>
    </div>
</script>

这是地图层的脚本:

代码语言:javascript
复制
<script>
   L.mapbox.accessToken = 'My MapBox access code';

   var southWest = L.latLng(52.510135, 13.284534)
       , northEast = L.latLng(52.559125, 13.400293)
       , bounds = L.latLngBounds(southWest, northEast);

   var map = L.map('map', {
       center: [52.5279664, 13.32686126]
       , maxBounds: bounds
       , zoom: 14
       , maxZoom: 20
       , minZoom: 14
   });

   map.fitBounds(bounds);


   var layers = {
       Streets: L.mapbox.tileLayer('svpvertex.ml8nijl4')
       , Imagery: L.mapbox.tileLayer('svpvertex.m0ammo9e')
   };

   layers.Streets.addTo(map);

   //add cartoDB layer, set z-index so it shows up on top
   cartodb.createLayer(map, 'My CartoDB access').addTo(map)
       .on('done', function (layer) {
           layer.setZIndex(5);
           // get sublayer 0 and set the infowindow template
           var sublayer = layer.getSubLayer(0);

           sublayer.infowindow.set('template', $('#infowindow_template').html());
       }).on('error', function () {
           console.log("some error occurred");
       });
</script>

如果有人能帮我的话就太好了!

EN

回答 1

Stack Overflow用户

发布于 2016-05-10 23:33:29

看起来你的交互性有问题。

如果您正在使用编辑器,请记住在infowindow上打开所需的字段,或者设置自定义的infowindow,以便所有字段都可用。

如果您正在使用命名映射,请将这些字段添加到模板上的交互性定义中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37136933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档