2017-02-18 3 views
0

Мне нужно использовать мою WMS на листе и отобразить ее в веб-представлении. Когда я открываю приложение для листовки в браузере, оно довольно чистое и читаемое. Когда тот же код запускается в android, он очень плохо читается. Я пробовал добавить detectRetina: true в слой wms, но текст был очень маленьким и хуже читаемым, как сейчас. На изображениях вы можете видеть разные.Плохой читаемый слой 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.

+0

все еще плохо:/https://ctrlv.cz/shots/2017/02/19/oO6t.png –

Смежные вопросы