javascript - LeafletJS & Cloudmade : Retina Tile Support

标签 javascript retina-display leaflet cloudmade

我在我的移动 HTML5 应用程序中使用 Leaflet JS 和 Cloudmade。不幸的是,我无法让视网膜支持正常工作。

我使用这个 url 访问云制作的 api:

var url = 'http://{s}.tile.cloudmade.com/{key}/{style}@2x/256/{z}/{x}/{y}.png?token={token}';

我的 keystyletoken 被替换为正确的值。

对于我的传单 map 层,我使用以下简单配置:

L.tileLayer(url, {
        detectRetina: true
      }).addTo(map);

不幸的是,结果看起来很奇怪。 Wrong positions of tiles

瓷砖及其位置似乎出了问题。

如果我删除 detectRetina 标志,我会在浏览器中得到正确的结果 Correct positions

但如您所见,这两种解决方案在我的视网膜显示器 (Mac Book Pro) 上都不清晰。

有没有人让它工作?

谢谢!

最佳答案

这对我有用:

var tileURL = 'http://{s}.tile.cloudmade.com/{api-key}/1714' + (L.Browser.retina? '@2x': '') + '/256/{z}/{x}/{y}.png';          

L.tileLayer(tileURL, {detectRetina: true}).addTo(yourMap);

您是否尝试过不同的磁贴样式并检查这是否可能是问题所在?

关于javascript - LeafletJS & Cloudmade : Retina Tile Support,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21677504/

相关文章:

ios - 如何以编程方式设置属性 "Retina Display Off"?

Xcode 6.01 iOS Simulator 8.0 无皮肤且在 Retina Macbook Pro 上太小

javascript - 更改 html 下载的名称

javascript - nodeJS 中的持久变量

javascript - jQuery 跳转到 anchor 上方 100px

ios - @ 2x对于Retina显示应用程序有何意义?

javascript - 过滤javascript中不存在的txt字符串的一部分

javascript - 使用 react-leaflet 时缺少 Leaflet Map Tiles

javascript - 居中标记

javascript - 如何在函数内调用函数而不将任何变量传递给函数 Javascript