2017-02-18 4 views
0

리플렛에 내 WMS를 소비하고 웹보기로 표시해야합니다. broser에서 전단지 앱을 열면 꽤 순수하고 읽기 쉽습니다. 동일한 코드가 안드로이드에서 실행될 때, 그것은 매우 최악입니다. 나는 wms 계층에 detectRetina: true을 추가하려고 시도했지만 텍스트는 매우 작았고 지금은 최악의 가독성을 보였다. 이미지에서 당신은 differents을 볼 수 있습니다.안드로이드 - 전단지에서 읽을 수없는 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

당신은 타일의 크기를 두 배로 갖는 트릭에 의존해야합니다, -1 zoomOffset로, 예 :

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 –