J'ai actuellement un code qui, lorsque vous appuyez sur le bouton Soumettre, un marqueur doit être placé sur une carte en fonction de la valeur qui est dans une liste déroulante. J'ai fait en sorte que la valeur dans la liste déroulante ira dans l'URL via une méthode de formulaire GET pour le code PHP et passera également la valeur via le paramètre à la fonction javascript. Le problème que je rencontre est que je dois appuyer deux fois sur le bouton soumettre pour que le marqueur apparaisse sur la carte. C'est moins qu'idéal et je cherche de l'aide pour essayer de résoudre ce problème. Merci.Emplacement du marqueur Google
Ceci est le code de fonction javascript:
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);
}
});
}
Ceci est mon formulaire HTML:
<form action="#" onsubmit="placeMarker(this.uninames.value)" method="get">
essayez-vous aux universités par lots géocodage sur la base d'une liste d'adresses préremplis? – pp19dd
Non, je ne fais qu'un seul géocodage en fonction de ce qui est dans la liste déroulante lorsque le bouton de recherche est pressé –
Pourquoi y a-t-il du code PHP au milieu de votre fonction JS? – puckhead