根据地理坐标计算瓦片行列号

本文介绍了一个使用JavaScript和OpenStreetMap API实现的功能,当用户点击地图时,能够获取到被点击位置的具体坐标,并将其转化为特定的URL格式进行输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

##http://jsfiddle.net/84P9r/

$(document).ready(function(){
    url = "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
    var map = L.map('map').setView([0, 0], 0);

    if (typeof(Number.prototype.toRad) === "undefined") {
      Number.prototype.toRad = function() {
        return this * Math.PI / 180;
      }
    }


    function getTileURL(lat, lon, zoom) {
        var xtile = parseInt(Math.floor( (lon + 180) / 360 * (1<<zoom) ));
        var ytile = parseInt(Math.floor( (1 - Math.log(Math.tan(lat.toRad()) + 1 / Math.cos(lat.toRad())) / Math.PI) / 2 * (1<<zoom) ));
        return "" + zoom + "/" + xtile + "/" + ytile;
    }
    


    L.tileLayer(url, {
        maxZoom: 18
    }).addTo(map);

    map.on('click', function (e) {
        url = getTileURL(e.latlng.lat, e.latlng.lng, map.getZoom())
        console.log(url);
        alert(url);
    });
      

 

转载于:https://www.cnblogs.com/tinaluo/p/7474273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值