【问题标题】:Using Custom Map Projection On Leaflet在传单上使用自定义地图投影
【发布时间】:2013-08-27 10:11:29
【问题描述】:

我有一个显示 EPSG:3414 地图的应用程序在 Openlayers - jsfiddle working sample 上运行。

我正在尝试在 Leaflet - jsfiddle non-working 上实现相同的功能,但它不起作用,因为我可能遗漏了某些内容或可能有一些概念错误。

不幸的是,我很陌生,并且正在弄清楚如何让它发挥作用。

欢迎任何帮助。谢谢!

更新:

  1. 地图是 ESRI 类型,使用 ZYX 和 SVY21 投影):
  2. 此处更新代码(JS fiddle 未更新)
  3. 地图 X-Y 不是从 0/0 开始,它们是一些其他数字,所以它变得越来越复杂,我必须为每个级别做一些幻数偏移,这有点工作但并不理想,因为位置是不准确,接近但不够准确。

传单样本:

var proj = new L.Proj.CRS.TMS('EPSG:3414', "+proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m +no_defs",
    [4257.9355, 11470.3186, 64359.3062, 49067.5413], 
    {
        resolutions:[76.4372195411057,38.2186097705529,19.1093048852764,9.55465244263822,4.77732622131911,2.38866311065955,1.19433155532978,0.597165777664889,0.298450596901194]
    }
);

var map = L.map('my_map', {
    crs: proj,
    continuousWorld: true,
    worldCopyJump: false
});

map.addLayer(new L.Proj.TileLayer.TMS('http://{s}.onemap.sg/ArcGIS/rest/services/basemap/MapServer/tile/{z}/{y}/{x}', proj, {
    subdomains: ['t1', 't2'],
    tms: true,
    continuousWorld: true
}));

【问题讨论】:

    标签: javascript openlayers gis leaflet


    【解决方案1】:

    这个例子吗

    http://esri.github.io/esri-leaflet/examples/non-mercator-projection.html

    或此示例帮助

    http://blog.thematicmapping.org/2012/07/using-custom-projections-with-tilecache.html

    我会在firefox中使用firebug和例子,然后查看控制台中是否有错误消息。

    在将它放入 JS Fiddle 之前,我会在一个直接的网页上尝试它。少了一件可能会造成干扰的事情。

    【讨论】:

    • 您好,感谢您的指点,我刚刚开始再次查看传单并将查看示例。我在 onemap 网站上找到了有关地图规格的更多信息,稍后将添加链接。一起使用传单和引导程序。顺便说一句,我在 Leaflet 的标记标签上撕掉了我的头发。为什么他们会遗漏如此重要的东西。 pulgins 似乎都表现不佳。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 2023-03-18
    • 2014-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多