我一直在尝试将 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/