我目前正在尝试从传单中的latlng获取百分比或像素坐标。

以下是创建地图并定义图块的脚本(取自名为“ maptiler”的应用程序)

    var mapMinZoom = 0;
    var mapMaxZoom = 3;
    var map = L.map('main-map', {
        maxZoom: mapMaxZoom,
        minZoom: mapMinZoom,
        crs: L.CRS.Simple
    }).setView([0 0], mapMaxZoom);
    var mapBounds = new L.LatLngBounds(
        map.unproject([0, 1792], mapMaxZoom),
        map.unproject([2048, 0], mapMaxZoom));

    map.fitBounds(mapBounds);
    L.tileLayer('/_Content/leafletmap/{z}/{x}/{y}.png', {
        minZoom: mapMinZoom, maxZoom: mapMaxZoom,
        bounds: mapBounds,
        noWrap: true,
        tms: false
    }).addTo(map);


这里的主要要求是cordova应用程序中的离线功能,这就是为什么我们不使用google maps API的原因。

最佳答案

您可能正在寻找Leaflet Map Conversion Methods


latLngToLayerPoint(latlng)获取相对于整个地图的图层点。
latLngToContainerPoint(latlng)获取相对于地图容器的点(在您的情况下为'main-map')。

关于javascript - 从latlng获取基于百分比或基于像素的x&y坐标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34744406/

10-11 05:35