javascript - 传单:panTo Web 墨卡托坐标 (EPSG 3857)

标签 javascript maps gis leaflet

我有一张显示图 block 层的标准传单 map 。现在传单只允许您使用 panTo 方法,例如使用 LatLng,

map.panTo(new L.LatLng(40.17, -98.12));

如果我的坐标在 EPSG:3857 中,例如 (3679364.68,-9096106.74),我将如何使用上面的 panTo 方法?

这在 Openlayers 中非常简单,因为一旦您定义了 map 投影,一切都在该投影中工作。但是 Leaflet 总是在外面处理 latlng。

有什么简单的方法可以使用传单库来实现这一点?

谢谢!

最佳答案

Leaflet 允许您通过取消投影 3857 点来使用 panTo 方法。如果您不想使用 proj4js 库,它也可以在传单中实现。

var point = new L.Point(3679364.68,-9096106.74); // Lon/Lat
var earthRadius = 6378137;
var latlng = L.Projection.SphericalMercator.unproject(point.divideBy(earthRadius));

map.panTo(new L.LatLng(latlng.lat, latlng.lng));

关于javascript - 传单:panTo Web 墨卡托坐标 (EPSG 3857),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664327/

相关文章:

maps - 如何可视化 map 内置数据 block 中的数据(点)?

r - 使用 ggplot() 根据 R 中的 ISO3 代码为世界地图上的国家着色

php - 为什么在启用 Javascript 时不忽略 <noscript> 标记内的所有内容?

javascript - 意外值对齐解析 preserveAspectRatio 属性 Firefox 错误

html - 多个标记谷歌地图嵌入 API

python-3.x - 在geopandas中溶解后删除多边形的内线

javascript - Web 3D GIS解决方案

javascript - 如何使用 Javascript Underscore.js 的 _.sortBy() 方法在 javascript 中按多个键对对象数组进行排序?

javascript - 使用 Node SSL 将客户端证书设为可选(rejectUnauthorized : true doesn't do it? )

python - 查找重叠的加权多边形 'highest' 区域