android上的可读wms层错误 - 传单

时间:2017-02-18 12:27:56

标签: android leaflet geoserver wms

我需要在传单上使用我的WMS并在Web视图中显示它。当我在broser中打开我的传单应用程序时非常纯粹和可读。当相同的代码在android中运行时,它的可读性更差。我已经尝试将detectRetina: true添加到wms图层,但文本非常小,而且现在可读性最差。在图像上,您可以看到不同的颜色。

这是我的完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>LEaflet</title>
    <link rel="stylesheet" href="leaflet/leaflet.css">
    <link rel="stylesheet" href="style.css">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

</head>
<body style="padding:0; margin:0; height: 100vh; width: 100vw;">

<div id="map" style="height: 100vh; width: 100vw;"></div>


</body>

<script src="leaflet/leaflet.js"></script>

<script>
    var map = L.map('map', {
        minzoom:13
    }).fitWorld();

    var wmsLayer = L.tileLayer.wms('http://10.0.2.2:8080/geoserver/TEST/wms?', {
        layers: 'TEST:MyBaseLayer'
        //detectRetina: true
    }).addTo(map);

</script>
</html>

1 个答案:

答案 0 :(得分:1)

你必须采用瓦片加倍大小的技巧,zoomOffset为-1,即:

var tileLayer = L.tileLayer(tileUrlTemplate, {
  tileSize: 512,
  zoomOffset: -1
}).addTo(map);

检查Leaflet documentation for L.TileLayer有关这些选项的信息。它们也适用于L.TileLayer.WMS