Javascript 单张中的线上和线下瓷砖

Javascript 单张中的线上和线下瓷砖,javascript,leaflet,cartography,Javascript,Leaflet,Cartography,我试图在传单中展示来自两个不同来源的瓷砖时遇到各种问题: 1:第一个视图与我定义的中心不匹配,但是如果我移动窗口,贴图的中心会发生变化,并且正确居中。我不知道为什么传单会这样做,因为它只适用于一个瓷砖源 2:当我从一层切换到另一层时,什么都没有发生 3:并不是所有的数据都在加载,即使对于在线互动程序服务器也是如此 我的代码: var mapOnlineUrl = 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png'; var mapOf

我试图在传单中展示来自两个不同来源的瓷砖时遇到各种问题:

  • 1:第一个视图与我定义的中心不匹配,但是如果我移动窗口,贴图的中心会发生变化,并且正确居中。我不知道为什么传单会这样做,因为它只适用于一个瓷砖源
  • 2:当我从一层切换到另一层时,什么都没有发生
  • 3:并不是所有的数据都在加载,即使对于在线互动程序服务器也是如此
我的代码:

var mapOnlineUrl = 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png';
var mapOfflineUrl = 'data/tiles/{z}/{x}/{y}.png';

var onlineTile = L.tileLayer(mapOnlineUrl, {attribution: mapAttribution});
var offlineTile = L.tileLayer(mapOfflineUrl, {attribution: mapAttribution});

var map = L.map('map', {
    center: [46.5, 2.9],
    zoom: 4,
    minZoom: 4,
    maxZoom: 8,
    /* fixing tap http://leafletjs.com/reference.html#map-tap */
    tap: true,
    /* layers */
    layers: [onlineTile, offlineTile, myMarkerSet, MyOtherMarkerSet],
    /* attribution */
    attributionControl: false,
    /* zoom params */
    scrollWheelZoom: false,
    boxZoom: false,
    /* keyboard */
    keyboard: false
});
L.control.attribution({position: 'bottomright'}).addTo(map);
L.control.scale({position: 'bottomleft', imperial: false}).addTo(map);

// ADD GEOJSON'S LAYERS
// groups
var tiles = {
    "online data": onlineTile,
    "offline data": offlineTile
};
L.control.layers(tiles, markers, {collapsed: true, autoZIndex: false}).addTo(map);

我的两个tiles服务器似乎是重叠的,但我不想这样!你在期待什么?平铺相互重叠是正常的。我只想在用单选按钮选择时加载平铺。这是一个android应用程序,我不希望用户加载外部资源,如果他不选择它。我希望在默认情况下加载脱机磁贴(本地),并且仅当用户选择时才加载远程服务器磁贴。