javascript - Carto 多个 map 单个 HTML

标签 javascript maps cartodb

我需要在同一 HTML 上显示两个或多个 Carto map 。第一张 map 没有问题,但第二张 map 显示不正确。我不明白。正确的做法是什么?这是我的 html 原型(prototype) http://pixelius.es/labs/servmet使用以下代码:

var mapDimarts;
var mapDimecres;

function servmet(){
    mapDimarts = new L.Map('cartodbDimarts', {
        center: [41.75, 2.18],
        zoom: 7
    });

    mapDimecres = new L.Map('cartodbDimecres', {
        center: [41.75, 2.18],
        zoom: 7
    });

L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
    attribution: 'Mapbox <a href="http://mapbox.com/about/maps" target="_blank">Terms &amp; Feedback</a>'
}).addTo(mapDimarts);

L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
    attribution: 'Mapbox <a href="http://mapbox.com/about/maps" target="_blank">Terms &amp; Feedback</a>'
}).addTo(mapDimecres);

cartodb.createLayer(mapDimarts, 'https://pixelius.carto.com/api/v2/viz/1f0fd8ee-9c22-4571-8b25-ef549d716c8f/viz.json')
    .addTo(mapDimarts)
    .on('error', function(err) {
  alert("some error occurred: " + err);
});

cartodb.createLayer(mapDimecres, 'https://pixelius.carto.com/api/v2/viz/6f8ec189-c208-4c5f-9aa2-6cc9ebbc52ac/viz.json')
    .addTo(mapDimecres)
    .on('error', function(err) {
  alert("some error occurred: " + err);
});

}

window.onload = servmet;

最佳答案

本地图容器不可见时, map 将被初始化。因此 map 存在,但尺寸不正确。

我会在选项卡上设置一个触发器,以便在单击选项卡时调整 map 大小...

function predicDia(e,a){
   mapDimecres.invalidateSize(true);

关于javascript - Carto 多个 map 单个 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46126354/

相关文章:

javascript - 创建交互式向下钻取图

java - 无法使用::运算符将新列表初始化为 Map 的值?

php - CartoDB - SQL API - 使用 php 发布请求

php - 如何在确认弹出窗口后使用 ajax/jquery 发布数据

javascript - 如何在 Python 中创建一个由其他 JSON 对象的部分组成的新 JSON 对象?

javascript - 创建一个文字以将成员应用为函数内的变量

javascript - SequelizeDatabaseError : You need JSON-C for ST_GeomFromGeoJSON when I have JSON-C installed on centos

r - 将 "map"对象转换为 "SpatialPolygon"对象

传单 : Prevent marker to be dragged outside the map container

java - 将 cartoDB 浏览器中的图层添加到 Android 应用程序