dongshi6844 2018-11-12 18:11
浏览 14

过滤数据以在地图上发布标记

I'm trying to filter some data (magnitude and date) from my database to display markers on my map as there are too many markers appearing.

When I click the submit button, my map is not appearing. What is causing this?

Note: When I try without the filtering, my map displays correctly with all markers.

Here is my code:

<div class="main">

            <form action="" method="post">
                <h3> Past Earthquakes:</h3>
                <br />

                <p>Select Magnitude:


                    <input type="number" id="select_magnitude" name="select_magnitude"  min="1.00" max="10.00" step="0.1" placeholder = "select magnitude" style="width:200px">
                    &nbsp &nbsp

                    Select Date : <input type="date" id="earthquake-date" name="earthquake-date" placeholder = "">&nbsp &nbsp
                    <input type="submit" name="search" value="search">
                    </p>

                  <div id="mapid"></div>

                    <?php

                        $servername = "localhost";
                        $username = "root";
                        $password = "";
                        $dbname = "Earthquake";


                        // Create connection
                        $conn = mysqli_connect("$servername", "$username", "$password", "$dbname");
                        // Check connection
                        if (!$conn) {
                            die("Connection failed: " . mysqli_connect_error());
                        }

                        if (isset($_POST['submit'])) {
                            $magnitude = $_POST['select_magnitude'];
                            //$date = $_POST['earthquake-date'];



                            $sql = "(SELECT * FROM tbl_earthquake where `Magnitude`= '".$magnitude."')";// AND `Date`='".$date."')";
                            $result = mysqli_query($conn, $sql);

                                    echo   "

                                        <script type='text/javascript'>

                                            var mymap = L.map('mapid').setView([-20.176907099999998,57.46742810000001], 3);
                                            var marker;";


                                            if (mysqli_num_rows($result)>0){
                                                while($row = mysqli_fetch_assoc($result)){

                                                    echo "marker=L.marker([".$row['Latitude'].",".$row['Longitude']."]).addTo(mymap);";
                                                    //echo "marker=L.marker([-20.176907099999998,57.46742810000001]).addTo(mymap);";

                                                }       
                                            }

                                            echo"

                                                L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {maxZoom: 20,
                                                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(mymap);


                                       </script>";
                        }      
                    ?>
            </form>
        </div>  
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试