PHP连接mysql数据库,调用Google Map显示不同地方地图信息,使用Javascript弹出悬浮信息窗口展示。

9 篇文章 0 订阅
1 篇文章 0 订阅

PHP连接mysql数据库,调用Google Map显示不同地方地图信息,使用Javascript弹出悬浮信息窗口展示。



#cat db_map4.php

    <?php
        $username = "tom";
        $dbName = "test";
        $tableName = "IDC";
        $psword = "tom";
        $hostname = "127.0.0.1";
        $logon_flag = 0;
        $server_link = mysql_connect("localhost","$username","$psword")
                or die("Can't connect to server" . mysql_error());
        if($server_link){
           echo "Connect successfully!<br>";
           $logon_flag = 1;
        }

        if($logon_flag == 0){
          echo "<script language='javascript'>";
          echo "alert('Sorry,Wrong userName or Password!');";
          echo "history.back();";
          echo "</script>";
        }

        if($logon_flag == 1){
        
          $db_link = mysql_select_db("$dbName",$server_link) or die ("Can't use database f2:" . mysql_error());
          $sql = "SELECT * FROM $tableName";
          $result = mysql_query($sql,$server_link) or die("Invalid query:" . mysql_error());
          $i = 0;
          while($rows = mysql_fetch_array($result)){
           // $arr1[$i][0] = $rows["id"];
           // $arr1[$i][1] = $rows["a"];
            //$arr1[$i][2] = $rows["b"];
            //$arr1[$i][3] = $rows["c"];
            $address[$i] = $rows["IDC_NAME"];
            $delay_time[$i] = $rows["Delay_Time"];
            $i++;
          }
          mysql_free_result($result);

          mysql_close($server_link);
         // $address = $arr1[2][1];
          //$delay = $arr1[2][0];

        }
    ?>

<html>
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
    <script type="text/javascript"  
        src="http://maps.google.com/maps/api/js?sensor=false"></script>  
    <script type="text/javascript">  
        var geocoder;  
        var map;  
        //实际查询地址  
        //var query = "辽宁沈阳文化路三号巷11号";  
        var query = "东北大学北门";  
        //显示名称  
        //var display = "<b>单位:</b>东北大学";  
        var display = "<b>Delay:</b><?php echo "$delay_time[0]" ?>";  
        function initialize() {  
            geocoder = new google.maps.Geocoder();  
            var myOptions = {  
                zoom : 1,//缩放比例  
                //地图类型 •MapTypeId.ROADMAP •MapTypeId.SATELLITE   
                //•MapTypeId.HYBRID •MapTypeId.TERRAIN   
                mapTypeId : google.maps.MapTypeId.ROADMAP  
            }  
            map = new google.maps.Map(document.getElementById("map_canvas"),  
                    myOptions);  
            codeAddress();  
            codeAddress1();  
            codeAddress2();  
        }  
        function codeAddress() {  
            //var address = query;  
            var address = "<?php echo "$address[0]" ?>";  
            var display = "<b>Delay:</b><?php echo "$delay_time[0]" ?>" + " ms";  //javascript引用php变量
            //地址解析  
            geocoder.geocode({  
                'address' : address  
            }, function(results, status) {  
                if (status == google.maps.GeocoderStatus.OK) {  
                    //依据解析的经度纬度设置坐标居中  
                    map.setCenter(results[0].geometry.location);  
                    var marker = new google.maps.Marker({  
                        map : map,  
                        position : results[0].geometry.location,  
                        title : address,  
                        //坐标动画效果  
                        animation : google.maps.Animation.DROP  
                    });  
                    var infowindow = new google.maps.InfoWindow({  
                        content : "<span style='font-size:11px'><b>IDC:</b>"  
                                + address + "<br>" + display + "</span>",  
                        //坐标偏移量,一般不用修改  
                        pixelOffset : 0,  
                        position : results[0].geometry.location  
      
                    });  
                    //默认打开信息窗口,点击做伴弹出信息窗口  
                    infowindow.open(map, marker);  
                    google.maps.event.addListener(marker, 'click', function() {  
                        infowindow.open(map, marker);  
                    });  
                } else {  
                    alert("未能解析该地址的原因: " + status);  
                }  
            });  
        }  

        function codeAddress1() {  
            //var address = query;  
            var address = "<?php echo "$address[1]" ?>";  
            var display = "<b>Delay:</b><?php echo "$delay_time[1]" ?>" + " ms";  
            //地址解析  
            geocoder.geocode({  
                'address' : address  
            }, function(results, status) {  
                if (status == google.maps.GeocoderStatus.OK) {  
                    //依据解析的经度纬度设置坐标居中  
                    map.setCenter(results[0].geometry.location);  
                    var marker = new google.maps.Marker({  
                        map : map,  
                        position : results[0].geometry.location,  
                        title : address,  
                        //坐标动画效果  
                        animation : google.maps.Animation.DROP  
                    });  
                    var infowindow = new google.maps.InfoWindow({  
                        content : "<span style='font-size:11px'><b>IDC:</b>"  
                                + address + "<br>" + display + "</span>",  
                        //坐标偏移量,一般不用修改  
                        pixelOffset : 0,  
                        position : results[0].geometry.location  
      
                    });  
                    //默认不打开信息窗口,点击做伴弹出信息窗口  
                    //infowindow.open(map, marker);  
                    google.maps.event.addListener(marker, 'click', function() {  
                        infowindow.open(map, marker);  
                    });  
                } else {  
                    alert("未能解析该地址的原因: " + status);  
                }  
            });  
        }


        function codeAddress2() {  
            //var address = query;  
            var address = "<?php echo "$address[2]" ?>";  
            var display = "<b>Delay:</b><?php echo "$delay_time[2]" ?>" + " ms";  
            //地址解析  
            geocoder.geocode({  
                'address' : address  
            }, function(results, status) {  
                if (status == google.maps.GeocoderStatus.OK) {  
                    //依据解析的经度纬度设置坐标居中  
                    map.setCenter(results[0].geometry.location);  
                    var marker = new google.maps.Marker({  
                        map : map,  
                        position : results[0].geometry.location,  
                        title : address,  
                        //坐标动画效果  
                        animation : google.maps.Animation.DROP  
                    });  
                    var infowindow = new google.maps.InfoWindow({  
                        content : "<span style='font-size:11px'><b>IDC:</b>"  
                                + address + "<br>" + display + "</span>",  
                        //坐标偏移量,一般不用修改  
                        pixelOffset : 0,  
                        position : results[0].geometry.location  
      
                    });  
                    //默认不打开信息窗口,点击做伴弹出信息窗口  
                    //infowindow.open(map, marker);  
                    google.maps.event.addListener(marker, 'click', function() {  
                        infowindow.open(map, marker);  
                    });  
                } else {  
                    alert("未能解析该地址的原因: " + status);  
                }  
            });  
        }




    </script>  
    </head>
    <body οnlοad="initialize()">
        <div id="map_canvas" style="width: 600px; height: 400px;"></div>
    </body>
    </html>


结果截图:


数据表IDC内容及表结构截图如下:










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值