gpt4 book ai didi

javascript - mapbox 由于模板未初始化

转载 作者:行者123 更新时间:2023-11-30 20:01:15 24 4
gpt4 key购买 nike

我正在尝试初始化 MapBox 但控制台抛出错误“ Uncaught Error :找不到容器‘ map ’。”

我正在使用模板,我认为这是 Mapbox 由于某种原因无法查询在我的 html 中指定的元素的问题。我对使用模板相当陌生,我的上下文是它使 HTML 页面碎片化。希望有这方面经验的人可以帮助我解决这个问题。谢谢!

        mapboxgl.accessToken = 'MYAPIKEY';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
interactive: true,
dragRotate: true,
doubleClick: true
});


// THIS TRACK'S USER LOCATION IN REAL-TIME USING USER'G GroupSchool
map.addControl(new mapboxgl.GeolocateControl({
positionOptions: {
enableHighAccuracy: true
},
trackUserLocation: true
}));
//IF I CHANGE THIS URL TO PHP THAT CONTAINS THE GEOJSON FORMAT
var url = http://xxxx.geojson;



map.on('load', function () {
window.setInterval(function() {
map.getSource('drone').setData(url);
}, 2000);

map.addSource('drone',
{
type: 'geojson',
data: url
});

map.addLayer({
"id": "drone",
"type": "symbol",
"source": "drone",
"layout": {
"icon-image": "rocket-15"
}
});
});
          <template id="home.html">
<ons-page>
<!-- Toolbar-->
<ons-toolbar>
<div class="left">
<ons-toolbar-button onclick="fn.open()">
<ons-icon icon="md-menu"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center">
</div>
</ons-toolbar>

<div id='map' class='container'></div>



</ons-page>


</template>

最佳答案

看起来脚本在 <div id='map' class='container'></div> 之前运行已经被创造了。您需要确保 Javascript 在加载元素后 运行。为此,您可以执行以下操作之一:

  1. 将脚本移动到 HTML 文档的底部,就在 </html> 之前标签:

    <html>
    <!-- ALL OF YOUR CURRENT HTML CODE -->
    ...
    <!-- PLACE SCRIPT HERE -->
    <script>
    <!-- ALL OF YOU MAP CODE -->
    </script>
    </html>
  2. 将脚本放在文档加载后 调用的函数中:

    纯 Javascript:

    document.addEventListener('DOMContentLoaded', function() {
    // all of your map code here
    }, false);

    --或者--

    JQuery:

    $(document).ready(function(){
    // all of your map code here
    });

关于javascript - mapbox 由于模板未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53354528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com