Ich habe derzeit einige Code, die, wenn Sie die Schaltfläche Senden drücken, sollte eine Markierung auf einer Karte entsprechend dem Wert, der in einem Dropdown-Listenfeld ist platziert werden. Ich habe es so gemacht, dass der Wert in der Drop-Down-Box in die URL über eine GET-Form-Methode für den PHP-Code gehen und den Wert über Parameter an die Javascript-Funktion übergeben wird.Google Marker Platzierung
Das Problem, das ich habe, ist, dass ich zweimal auf den Submit-Button drücken muss, damit der Marker auf der Karte erscheint. Dies ist weniger als ideal und ich suche nach Hilfe, um dieses Problem zu beheben. Vielen Dank.
Dies ist die JavaScript-Funktion Code:
function placeMarker(address)
{
// ... Set up map code here
var map = new google.maps.Map(document.getElementById("universityMap"), myOptions);
<?php
$uniname = $_GET['uninames'];
//Get the Uni code according to the uni name
$queryUniID = $mysqli->prepare("SELECT IdCode FROM universityid WHERE UniName = ?");
$queryUniID->bind_param('s', $uniname);
$queryUniID->execute();
$queryUniID->bind_result($unicode);
$queryUniID->fetch();
$queryUniID->close();
//Load the question data into relevant variables
$queryQuestions = $mysqli->prepare("SELECT QuestionNo, Answered1, Answered2, Answered3, Answered4, Answered5 FROM nssdata WHERE UniID = ?");
?>
address = address + ", UK";
geocoder.geocode({'address': address}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
marker = new google.maps.Marker(
{
map: map,
position: results[0].geometry.location,
title: address,
draggable: false
});
}
else
{
alert(status);
}
});
}
Das ist mein HTML-Formular:
<form action="#" onsubmit="placeMarker(this.uninames.value)" method="get">
Versuchen Sie, für die Batch-geocode Universitäten auf der Grundlage einer Liste von Adressen vorbelegt? – pp19dd
Nein, ich mache nur einen Geocode entsprechend dem, was in der Dropdown-Liste angezeigt wird, wenn die Suchtaste gedrückt wird –
Warum ist PHP-Code in der Mitte Ihrer JS-Funktion? – puckhead