android上可读性差的wms层 - 传单

Posted

技术标签:

【中文标题】android上可读性差的wms层 - 传单【英文标题】:Bad readable wms layer on android - leaflet 【发布时间】:2017-02-18 12:27:55 【问题描述】:

我需要在传单上使用我的 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】:

您将不得不求助于将图块大小加倍的技巧,zoomOffset 为 -1,即:

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

查看Leaflet documentation for L.TileLayer 了解这些选项。它们也适用于L.TileLayer.WMS

【讨论】:

以上是关于android上可读性差的wms层 - 传单的主要内容,如果未能解决你的问题,请参考以下文章

将哨兵图层添加到传单地图

传单 WMS 设置点 透明

如何获取传单 WMS 地图的最近特征?

使用复选框而不是单选按钮来控制传单图层?

在传单中获取WMS的最小缩放级别

如何使用 cesium 和 geoserver 在 android 应用程序中显示 wms 层?