javascript - Leaflet panTo(或setview)功能?

标签 javascript jquery django dictionary leaflet

我想创建一个 panTo 函数。当我单击链接时, map 会平移到坐标。但我不确定如何将值传递给函数。我开始为链接提供 Pointfield (pt) 值,如下所示:

<a href="#" class="marker" value="{{ mymodel.pt }}">Link</a>

然后我一直在尝试这个:

$("#dialog").on("click", ".marker", function(e) {
    e.preventDefault();
    map.panTo($(this).attr("value"));
    });

那没用。我认为这是一个范围问题,函数无法读取“ map ”变量,因为它不在初始 map 脚本下。

所以我的下一个想法是创建一个“panTo”函数并将其放在初始 map 脚本(这将是正确的范围)下,然后从点击事件调用该函数。不确定它是否有效,但我想知道如何将链接中的“值”传递给它?

感谢您的回答!

最佳答案

您可以使用 HTML 中的 data 属性向您的 map 添加导航。将纬度、经度和缩放保存到类似 data-position 的位置,然后在用户单击 anchor 标记时使用一些 JavaScript 调用这些值。这里有一些代码来说明。

<div id="map">
    <div id="map-navigation" class="map-navigation">
        <a href="#" data-zoom="12" data-position="37.7733,-122.4367">
            San Francisco
        </a>
    </div>
</div>

<script>
var map = L.map('map').setView([51.505, -0.09], 13);

L.tileLayer('http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png', {
                maxZoom: 18,
                attribution: 'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>'
            }).addTo(map);

document.getElementById('map-navigation').onclick = function(e) {
    var pos = e.target.getAttribute('data-position');
    var zoom = e.target.getAttribute('data-zoom');
    if (pos && zoom) {
        var loc = pos.split(',');
        var z = parseInt(zoom);
        map.setView(loc, z, {animation: true});
        return false;
    }
}
</script>

关于javascript - Leaflet panTo(或setview)功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21710530/

相关文章:

javascript - 对远程站点的本地 AJAX 调用在 Safari 中有效,但在其他浏览器中无效

javascript - 如何将基于 Canvas 的图形复制到 Webkit 中的剪贴板?

Javascript正则表达式替换标记之间的文本?

javascript - Rails 在提交之前验证 form_for

javascript - 如果仅选中 1 个复选框,则启用按钮。否则禁用按钮

javascript - Jquery 获取单选按钮旁边的文本框的值

javascript - 触发点击下部元素(z-index)

python - 为 Django View 实现 HTTP Digest Auth

python - Django:仅为 api 子应用程序返回 json

django - 当用户在从 UserCreation 表单继承的 UserRegister 表单上注册时,如何自动将用户添加到组