Я хочу сделать карту google, которая позволяет людям щелкнуть по карте и сохранить точку в качестве начальной или конечной точки. После нажатия на кнопку, будет отображаться информация. Я изменил координату карты google в свою собственную координату. И я создал базу данных со зданиями в координате. То есть, база данных, как этот (х Y Building) (1, 2, башня 1) (1, 3, башня 2)передать переменную в javascript на sql-сервер, используя ajax
Я хочу передать координату для поиска в базе данных 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
Вы проследили, где возникает проблема? Является ли 'storelatlng.php' действительным lat/lng? Кроме того, есть ли причина, по которой вы жестко кодируете 'X = 2 и Y = 58' в' storelatlng.php'? – dgilland