我需要在传单上使用我的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>
答案 0 :(得分:1)
你必须采用瓦片加倍大小的技巧,zoomOffset
为-1,即:
var tileLayer = L.tileLayer(tileUrlTemplate, {
tileSize: 512,
zoomOffset: -1
}).addTo(map);
检查Leaflet documentation for L.TileLayer
有关这些选项的信息。它们也适用于L.TileLayer.WMS
。