javascript - 传单 map 无法正确呈现

标签 javascript jquery css leaflet

我一直在尝试将 Leaflet map 添加到我的网页,但它没有正确呈现。当我加载页面时,它只显示为一个灰色框,在我开始缩小之前我什么都看不到。这可能是我缺少的一些基本的东西,我无法找到它。

我在坐标 long, lat 中添加了新西兰的坐标,但它没有用,所以我将顺序颠倒为 lat,long 是别人建议的,但也没有用。我还添加了一个标记来测试它会显示在哪里,它应该在新西兰惠灵顿,但它似乎出现在海洋中间的某个地方。我也不确定我应该使用什么变焦我已经尝试了各种不同的数字,但它看起来总是一样的,直到我缩小然后它离我的目标新西兰几英里之前什么也没有。

JS:

// initialize the map on the "map" div with a given center and zoom
var mymap = L.map('mapContainer').setView([40.9006, 174.8860], 5);

var Esri_WorldGrayCanvas = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/{z}/{y}/{x}', {
    attribution: 'Tiles © Esri — Esri, DeLorme, NAVTEQ',
    maxZoom: 18
}).addTo(mymap);

var marker = L.marker([41.2784, 174.7767]).addTo(mymap)
.bindPopup('The Beehive Wellington, house of Parliament')

HTML:

    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==" crossorigin=""/>
    <!--CSS STYLE SHEET REFERENCE-->
    <link rel="stylesheet" href="ass
<!--SCRIPTS-->
    <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
    <script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" integrity="sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og==" crossorigin=""></script>
    <script type="text/javascript" src="https://cdn.emailjs.com/sdk/2.3.2/email.min.js"></script>
    <script type="text/javascript">
        (function() {
        emailjs.init("user_6IJi6iUGTMBKBwowkfsSh");
        })();
    </script>
    <script src="assets/js/sendEmail.js"></script>
    <script type="text/javascript" src="assets/js/script.js"></script>
<!--START OF MAP-->
        <div class="mymap col-lg-8 col-md-12 col-sm-12">
            <!--START OF DROPDOWN-->
            <div class="search-options">
                <div class="dropdown">
                    <select class="select-box">
                        <option>North Island</option>
                        <option>South Island</option>
                    </select>
                </div>
                <div class="radio-buttons">
                    <form>
                        <input class="radio" type="radio" name="option" value="track" checked> Track<br>
                        <input class="radio" type="radio" name="option" value="Hut"> Hut<br>
                        <input class="radio" type="radio" name="option" value="Campsite"> Campsite<br>
                    </form>
                </div>
            </div>
            <!--END OF DROPDOWN-->
            <!--START OF LEAFLET MAP-->
            <div id="mapContainer"></div>
            <!--END OF LEAFLET MAP-->
        </div>  

我希望在呈现页面时看到新西兰 map 本身,以及北岛底部惠灵顿的标记。当它渲染时,它被放大到现在为止我什么都看不到,我必须缩小距离,但它不在新西兰附近的任何地方,惠灵顿的标记在太平洋的顶部。

最佳答案

您对新西兰和惠灵顿使用了错误的[lat, lng]

应该是

var mymap = L.map('mapContainer').setView([-40.9006, 174.8860], 5);

var marker = L.marker([-41.2784, 174.7767]).addTo(mymap)

关于javascript - 传单 map 无法正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56420254/

相关文章:

javascript - 如何防止在 if-else block 之外执行命令代码?

javascript - 我想将一堆飞机映射到一个球体上,它可以工作,但有一些意想不到的错误

javascript - 文档准备好后合并滚动和调整大小事件

jquery onclick 用于扩展右侧的文本内容?

javascript - vuejs2 从具有相同模型名称的多个输入中获取值

javascript - 在提交表单中显示 javascript 日期生成器

javascript - 如何根据单击的链接在模态中动态加载 View ?

jquery - tabber 在页面加载时闪烁

html - 未设置溢出时 Div 高度不正确

CSS !important 规则使用,特异性