Ich habe Lattitude und Längengrad (lat, lng) Werte in meiner SQL-Datenbank festgelegt. Nun möchte ich Folgendes tun: Wenn ich den Namen der Stadt in die Suchbox einfüge, sendet sie bei einem onClick-Ereignis die Daten per POST an die php-Datei und erstellt eine SQL-Abfrage, die die lat, lng-Daten zurückgibt. Jetzt möchte ich die JavaScript-Funktion zum Laden der Karte mit den Lat, lng-Parametern aus der PHP-Datei aufrufen. Ich möchte, dass all dies in einem einfachen onClick-Event passiert.google maps mysql lat lng Javascript
Hier ist meine Javascript-Funktion, wich die Karte initialisieren soll (die Last() Funktion):
function getFile() {
if (window.XMLHttpRequest) {
AJAX=new XMLHttpRequest();
} else {
AJAX=new ActiveXObject("Microsoft.XMLHTTP");
}
if (AJAX) {
var searchField = document.getElementById("searchField");
AJAX.open("POST", "gmap.php", false);
AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
AJAX.setRequestHeader("Content-length", searchField.value.length);
AJAX.setRequestHeader("Connection", "close");
AJAX.send("foo=" + searchField.value);
return load(AJAX.responseText);
} else {
return false;
}
}
Und hier ist meine gmap.php Datei:
<?php
header('Content-Type: text/html; charset=UTF-8');
mb_internal_encoding('UTF-8');
$a = $_POST['searchField'];
$dbhost = "localhost";
$dbuser = "*******";
$dbpass = "*******";
$dbname = "citydb";
//connect sql
mysql_connect($dbhost, $dbuser, $dbpass);
//select db
mysql_select_db($dbname) or die(mysql_error());
//retrieve data
//$city=$_GET['city'];
//escape user input to help prevent SQL injection
//$city=mysql_real_escape_string($city);
//query
mysql_query('SET CHARACTER SET utf8');
$result=mysql_query("SELECT citystart, cityend FROM cityids WHERE city='$a' ");
if(!result) {
die("Database query failed: " . myql_error());
}
while($row=mysql_fetch_array($result)) {
$lat=$row['citystart'];
$lng=$row['cityend'];
Hier ist die onClick call:
<input type="submit" class="regular" name="FindEv" value="FindEv" onClick="getFile(); return false;" />
Das Problem ist, dass die Javascript-Funktion load() aufgerufen wird, bevor die PHP-Daten re hat gedreht. Ich habe jetzt über eine Woche damit verbracht, das herauszufinden, aber ich kann keine Lösung finden. Ich habe versucht, eval(), ich habe auch versucht, die load() -Funktion aus PHP, die auch fehlgeschlagen, weil es in einem onClick-Ereignis, das ist innerhalb eines div, so dass die load() -Funktion nicht exetuce Es wird nur innerhalb der div angezeigt, wenn ich weiter gehe Inspect Element i Firebug.
Ich spreche über lat, lng Werte für GLatLng().
Jede Hilfe wird geschätzt. Wenn jemand eine bessere Idee hat, dies zu lösen, bitte helfen Sie.
Ja, aber Sie haben GLatLng fixiert (39,8163, -98,55762), ich möchte diese Werte (39,8163, -98,55762) zu gelesen werden von SQL ... – digitale
Ich sehe was du meinst. lass mich sehen, ob ich es zu diesen Punkten mit meinem lat lon lesen lassen kann – shinjuo