我目前正在尝试从传单中的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/