передать переменную в JavaScript на сервер SQL, используя ajax - PullRequest
0 голосов
/ 31 марта 2011

Я хочу создать карту Google, которая позволяет людям нажимать на карту и сохраняет точку в качестве начальной или конечной точки.После нажатия на точку будет отображено информационное окно.Я изменил координату карты Google на свою собственную координату.И я сделал базу данных со зданиями в координатах.То есть, база данных, подобная этой (x Y Building) (1, 2, Tower 1) (1, 3, Tower 2)

Я хочу передать координату для поиска в базе данных sql и вернуть обратно здание.И показать название здания в текстовом поле.Однако, похоже, возвращение не удастся.Пожалуйста, помогите мне.Я долго искал в интернете.

storelatlng.php

require_once("Connections/fees0_7548734_cumap.php");
$x = $_GET['x'];
$y = $_GET['y'];
$data = mysql_query("SELECT Bname FROM Coordinate WHERE X=2 AND Y=58") or die(mysql_error());
$info = mysql_fetch_array($data);
$Bname = $info['Bname'];
echo $Bname;

mapfunction.php

var map;
var Bname="";
function storelatlng(){
   var y = document.getElementById("Latitude").value;
   var x = document.getElementById("Longitude").value

   var getVars = "?y="+y+"&x="+x;

   if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
       var request=new XMLHttpRequest();
   }
   else
   {// code for IE6, IE5
       var request=new ActiveXObject("Microsoft.XMLHTTP");
   }
   request.open('GET','storelatlng.php'+getVars,true);
   request.onreadystatechange = function(){
       if(request.readyState == 4){
          var xmlDoc = request.responseText;
          document.getElementById("frmLat").value = xmlDoc;
       }
   }
   request.send(null);
   return false;

}
function initialize() {
  if (GBrowserIsCompatible()) {

    map = new GMap2(document.getElementById("map_canvas"));
    map.setCenter(new GLatLng(22.419161, 114.207559), 17);
    GEvent.addListener(map,"click",
        function(overlay,latlng){
            var setLat = latlng.lat();
            var setLon = latlng.lng();
            setLat = Math.floor((Math.floor(setLat*100000)-2241187)/20); 
            setLon = Math.floor((Math.floor(setLon*100000)-11420020)/20 );
            //y
            document.getElementById("frmLat").value = setLat;
            //x
            document.getElementById("frmLon").value = setLon;
            var inputForm = document.createElement("form");
            inputForm.setAttribute("action","");
            inputForm.onsubmit = function(){storelatlng();
            return false;
            };
    inputForm.innerHTML = '<fieldset style = "width:200px;">'
        + '<legend> Mark Point </legend>'
        + 'Please choose it '+Bname+' your starting or ending point.'+'<p></p>'
        +  '<label><input type="radio" name="choice" value="0" id="choice_s" />Start</label>'
        +  '<label><input type="radio" name="choice" value="1" id="choice_e" />End</label>'
        + '<input type="submit" value="Save"/>'
        + '<input type="hidden" id="Longtitude" value="'+setLon+'"/>'
        + '<input type="hidden" id="Latitude" value="'+setLat+'"/>';

    map.openInfoWindow(latlng,inputForm);
        });
<?php

1 Ответ

0 голосов
/ 31 марта 2011

Как минимум, убедитесь, что ваши функции и вызовы функций выполнены правильно.В GEvent.addListener отсутствует закрывающая часть (после анонимной функции стоит точка с запятой, что означает, что GEvent.addListener завершена), а в конце примера кода есть дополнительная точка.Инициализация также выглядит так, как будто отсутствует скобка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...