亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

來自 mapbox 的地圖不會在選項卡單擊時完全加載

來自 mapbox 的地圖不會在選項卡單擊時完全加載

慕森卡 2023-04-27 17:20:39
我使用的地圖mapbox在單擊選項卡時不會加載完整。單擊選項卡時,地圖的大小會調整為原始大小的 50%(不知道為什么會這樣)。的html/javascript地圖如下圖所示:<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.3.1/mapbox-gl.js'></script><strong><div class="tab"><button class="tablinks" onclick="openTab(event, 'part1')" id="defaultOpen">ABC DEF</button><button class="tablinks" onclick="openTab(event, 'part2')">GHI JKL</button></div></strong><div id="part1" class="tabcontent"><div id="map1"></div> </div><div id="part2" class="tabcontent"><div id="map2"></div></div><script>mapboxgl.accessToken = 'hello';// Set boundsvar bounds = [    [e, f], // Southwest coordinates    [g, h, ]  // Northeast coordinates];var map = new mapboxgl.Map({    container: 'map1',    style: 'mapbox://styles/abcdef',    center: [p, q],    zoom: 12.3,    maxBounds: bounds // Sets bounds as max});// Add zoom and rotation controls to the map.map.addControl(new mapboxgl.NavigationControl());map.addControl(new mapboxgl.FullscreenControl(), 'top-left');</script><script>mapboxgl.accessToken = 'hello';// Set boundsvar bounds = [    [a, b], // Southwest coordinates    [c, d, ]  // Northeast coordinates];var map = new mapboxgl.Map({    container: 'map2',    style: 'mapbox://styles/abcdef',    center: [y, z],    zoom: 9.8,    maxBounds: bounds // Sets bounds as max});// Add zoom and rotation controls to the map.map.addControl(new mapboxgl.NavigationControl());map.addControl(new mapboxgl.FullscreenControl(), 'top-left');</script>問題陳述:我想知道我需要在上面的腳本中進行哪些更改,以便它在選項卡單擊時完全加載(doesn't get resized into 50% of the original size)
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

map1添加樣式以設置高度和map2容器后,似乎按預期工作:


#map1, #map2 {

  height: 500px;

}

mapboxgl.accessToken = 'access_token';


var a = -79.5,

  b = 35,

  c = -69.5,

  d = 45,

  p = -74.5,

  q = 40,

  e = -79.5,

  f = 35,

  g = -69.5,

  h = 45,

  y = -74.5,

  z = 40;


// Set bounds

var bounds = [

  [e, f], // Southwest coordinates

  [g, h, ] // Northeast coordinates

];

var map = new mapboxgl.Map({

  container: 'map1',

  style: 'mapbox://styles/mapbox/streets-v11', // stylesheet location

  center: [p, q],

  zoom: 12.3,

  maxBounds: bounds // Sets bounds as max

});

// Add zoom and rotation controls to the map.

map.addControl(new mapboxgl.NavigationControl());

map.addControl(new mapboxgl.FullscreenControl(), 'top-left');


// Set bounds

var bounds = [

  [a, b], // Southwest coordinates

  [c, d, ] // Northeast coordinates

];

var map = new mapboxgl.Map({

  container: 'map2',

  style: 'mapbox://styles/mapbox/streets-v11', // stylesheet location

  center: [y, z],

  zoom: 9.8,

  maxBounds: bounds // Sets bounds as max

});

// Add zoom and rotation controls to the map.

map.addControl(new mapboxgl.NavigationControl());

map.addControl(new mapboxgl.FullscreenControl(), 'top-left');


function openTab(evt, era) {

  var i, tabcontent, tablinks;

  tabcontent = document.getElementsByClassName("tabcontent");

  for (i = 0; i < tabcontent.length; i++) {

    tabcontent[i].style.display = "none";

  }

  tablinks = document.getElementsByClassName("tablinks");

  for (i = 0; i < tablinks.length; i++) {

    tablinks[i].className = tablinks[i].className.replace(" active", "");

  }

  document.getElementById(era).style.display = "block";

  evt.currentTarget.className += " active";

}

// Get the element with id="defaultOpen" and click on it

document.getElementById("defaultOpen").click();

#map1,

#map2 {

  height: 500px;

}

<script src='https://api.mapbox.com/mapbox-gl-js/v1.12.0/mapbox-gl.js'></script>

<link href='https://api.mapbox.com/mapbox-gl-js/v1.12.0/mapbox-gl.css' rel='stylesheet' />


<div class="tab">

  <button class="tablinks" onclick="openTab(event, 'part1')" id="defaultOpen">ABC DEF</button>

  <button class="tablinks" onclick="openTab(event, 'part2')">GHI JKL</button>

</div>

<div id="part1" class="tabcontent">

  <div id="map1"></div>

</div>


<div id="part2" class="tabcontent">

  <div id="map2"></div>

</div>


查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號