繁体   English   中英

Leaflet.js 没有正确放置标记

[英]Leaflet.js Does not put markers correctly

["

<!DOCTYPE html>
<head>    
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    
        <script>
            L_NO_TOUCH = false;
            L_DISABLE_3D = false;
        </script>
    
    <style>html, body {width: 100%;height: 100%;margin: 0;padding: 0;}</style>
    <style>#map {position:absolute;top:0;bottom:0;right:0;left:0;}</style>
    <script src="https://cdn.jsdelivr.net/npm/leaflet@1.6.0/dist/leaflet.js"></script>
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.js"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.6.0/dist/leaflet.css"/>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"/>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css"/>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css"/>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Leaflet.awesome-markers/2.0.2/leaflet.awesome-markers.css"/>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/python-visualization/folium/folium/templates/leaflet.awesome.rotate.min.css"/>
    
            <meta name="viewport" content="width=device-width,
                initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
            <style>
                #map {
                    position: relative;
                    width: 100.0%;
                    height: 100.0%;
                    left: 0.0%;
                    top: 0.0%;
                }
            </style>
        
</head>
<body>    
            <div class="folium-map" id="map" ></div>
        
</body>
<script>    

            function initMap(data){
                data = eval(data);
                
                data.forEach(e=>{
                
                            var marker = L.marker(
                                [parseFloat(e["latitude"]), parseFloat(e["longtitude"])],
                                {}
                            ).addTo(map);         
                });
            }
  
            var map = L.map(
                "map",
                {
                    center: [37.925886135915356, 40.203187856991775],
                    crs: L.CRS.EPSG3857,
                    zoom: 1000,
                    zoomControl: true,
                    preferCanvas: false,
                }
            );
            L.control.scale().addTo(map);

            var tile = L.tileLayer(
                "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
                {"attribution": "Data by \u0026copy; \u003ca href=\"http://openstreetmap.org\"\u003eOpenStreetMap\u003c/a\u003e, under \u003ca href=\"http://www.openstreetmap.org/copyright\"\u003eODbL\u003c/a\u003e.", "detectRetina": false, "maxNativeZoom": 18, "maxZoom": 18, "minZoom": 0, "noWrap": false, "opacity": 1, "subdomains": "abc", "tms": false}
            ).addTo(map);
        
    
            var marker = L.marker(
                [30.0, 40.0],
                {}
            ).addTo(map);
            
            var xhr = new XMLHttpRequest();

            var test;
            xhr.onreadystatechange = function() {
                if (xhr.readyState == XMLHttpRequest.DONE) {
                    
                    initMap(xhr.response);
                }
                
            }
            xhr.open("GET", "http://localhost:5000/test");
            xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
            xhr.send();

</script>

经度和纬度不起作用,因为我使用的是不同的数据集。 在我正在使用的数据集中,我将 ["X"] 和 ["Y"] 列转换为浮点类型,并且在逗号之后没有读取 javascript,例如 [40,268472646] 将其读取为 javascript [40 ] 并且位置重叠解决方案是将 [","] 逗号 ["."] 转换为带有替换的点。 Javascript 现在读取 [40.268472646],因此所有位置都在地图上可见

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM