在传单中添加用户位置的标记。

问题描述 投票:0回答:1

我是一个非常新的小册子,只是遇到了一个砖墙,试图让这个标记工作。

到目前为止,我有下面的代码,但是当我在浏览器中检查控制台时,它出现了以下错误

未捕获的引用错误:在mappage.html:153处没有定义位置。

mappage是html文件的名称。

    <div id="mapid"></div>

    <script>
        var mymap = L.map('mapid').setView([57.149860, -2.102930], 13);
        L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
            attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
        }).addTo(mymap);

        //var to capture user position
        var userPosition = position.coords.latitude + "," + position.coords.longitude;


        var marker = L.marker([userPosition]).addTo(mymap);
    <script>

我还在我的js文件中使用了下面的代码来查看地理位置api是否正常工作,而且它确实正确地在控制台日志中显示了所有要求的细节。

navigator.geolocation.getCurrentPosition(function (position) {
console.log(position);
console.log(position.coords.latitude)
console.log(position.coords.longitude)})
javascript html geolocation leaflet
1个回答
2
投票

你必须在"...... "中设置标记。getCurrentPosition 职能。

navigator.geolocation.getCurrentPosition(function (position) {
console.log(position);
console.log(position.coords.latitude)
console.log(position.coords.longitude)
var marker = L.marker([position.coords.latitude,position.coords.longitude]).addTo(mymap);
})
© www.soinside.com 2019 - 2024. All rights reserved.