Leaftlet不显示地图

时间:2019-10-17 18:11:44

标签: javascript android html google-maps

我想在Android设备上显示地图。我看到了变焦控制器和一个市场。但是地图没有显示。

我遵循leftlet示例,如果我以html格式传递代码,则显示地图,但不显示android。

Image of the problem

活动:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_map)
    Log.d("----->Map", "")
    // init webView

    // displaying content in WebView from html file that stored in assets folder
    webView = map_location
    //webView.clearCache(true)
    //webView.clearHistory()


    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl("file:///android_asset/map.html");



}

HTML:

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <script src="./leaflet.js"></script>
    <link rel="stylesheet" href="./leaflet.css">


    <style>
    body {
    padding: 0;
    margin: 0;
    }
     html, body, #map {
        height: 100%;
        width: 100vw; }

    </style>


</head>
<body>
<div id="map"></div>
<script>

    var map = L.map('map').setView([41.66, -4.72], 10);

    L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
        maxZoom: 18,
        attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
            '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
            'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
        id: 'mapbox.streets'
    }).addTo(map);

    map.locate({setView: true, maxZoom: 16});

    //L.control.scale().addTo(map);
    L.marker([41.66, -4.71], {draggable: true}).addTo(map);


</script>

</body>
</html>

我希望完整的地图可以显示

2 个答案:

答案 0 :(得分:0)

你可以试试吗?

width: 100%;
height: auto;
}

答案 1 :(得分:0)

我弄清楚了问题所在,当我测试Leaftlet库时我只是创建了Webview,但是我忘了给该应用程序提供Internet权限,这使得完整的地图得以显示