簡體   English   中英

我無法從 ajax 獲取坐標到谷歌地圖腳本

[英]I am unable to get Coordinates from ajax to the google map script

這是我的places.php 文件這里我從數據庫中獲取我的坐標,我已經通過回顯它很好地檢查了這一點,而且我與數據庫的連接也很好。 在這里,我制作了一個自執行函數,它在無限循環中自我重復,每當數據庫中的值發生更改或更新時,我的標記位置也將更新。 代碼非常簡單,但看起來我的 ajax 成功變量不起作用。

include 'connection.php';
$myque = mysqli_query($con, 'Select * from places where id=1');
$gtloc = mysqli_fetch_array($myque);
$lati = $gtloc['lati'];
$long = $gtloc['longi'];


echo lati.",".$long;
//echo $long;
}

在這里,我收到 ajax 成功響應並將其分配給一個變量,但它不起作用。

插入直接坐標顯示地圖,但我需要使標記響應數據庫坐標而不刷新頁面。 將我的變量插入到緯度和經度,地圖完全消失

<!DOCTYPE html>
    <html>
     <head>
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
         <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>


    <script>

        function test(){ 
        //ajax call goes here

    $.ajax({
        url: "places.php",
        type: "GET",
        async: true,
        data:  {"id": 1},
        success : function(value){
                    //alert("RESPONSE");
                var data = value.split(",");
                var latitude  = (data[0]);
                var longitude  = (data[1]); 
            }      
        });


      window.setTimeout(function(){
        test();
      }, 1500);
        }
            $(document).ready(function(){
            test();
            });


      </script>
      <script>
          function initMap() {
      var uluru = {lat: latitude  , lng: longitude };
      var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 15,
      center: uluru
      });
      var marker = new google.maps.Marker({
      position: uluru,
      map: map
      });
      }
      </script>

      </head>
      <body>
    <script></script>
      <h2>My Places</h2>
      <div  id="map" style="height: 700px;width: 100%;"></div>
      <!--map script --> 
      <!-- / Map Script-->
      <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBYBZxCetgqbsCQU3mxZ622GwNdSglEVN4&callback=initMap"></script>
      </body>
  </html>

問題是那些是字符串值。 嘗試使 lat/long 浮點變量...

var lat = parseFloat(latitude);
var long = parseFloat(longitude);

在你的例子中:

    success : function(value){
                //alert("RESPONSE");
            var data = value.split(",");
            var latitude  = (data[0]);
            var longitude  = (data[1]); 
        } 

只需像這樣添加 parseFloat :

        var latitude  = parseFloat(data[0]);
        var longitude  = parseFloat(data[1]); 

我認為它會解決它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM