Donc j'ai installé le système de google Map Api sur le site espace-maroc.com
La classe que j'ai utilisé la GoogleMapApi.class.php une petite recherche sur google et vous la trouverez.
Il me fallait la possibilité de positionner les riads sur une carte c'est pour cela que j'ai opté pour google. Nous avions une carte dessiné par des webdesigner mais vu comment cela avance les cartes d'autre ville n'aurait pas ete prete donc google est la solution. Ce que je voulais faire c'est que l'on puisse cliquer sur la carte pour identifier ou le riad se trouve et ensuite enregistrer les positions des points.
C'est pour cela que j'ai ajouté quelques lignes à cette classe qui ne devait (je pense) pas prendre en compte la chose.
Voici les lignes ajoutées :
L231 : /**
L232 : * determine if we create a drag and drop marker + name input longitude et latitude
L233 : *
L234 : * @var boolean
L235 : */
L236 : var $Flag_DragMarker = false;
L237 : var $InputLatName="";
L238 : var $InputLonName="";
Dans la méthode : L1094: function getCreateMarkerJS() {
J'ai ajouté aux lignes :
L1144: if ($this->Flag_DragMarker) {
L1145: $_output.= $this->getPositionMarker();
L1146: }
Et en fin de fichier :
function getPositionMarker() {
if ($this->Flag_DragMarker) {
$str='
GEvent.addListener('.$this->map_id.', "click", function(overlay, point) {
document.getElementById(''.$this->InputLatName.'\').value = point.y;
document.getElementById(''.$this->InputLonName.'\').value = point.x;
if (marker == null) {
marker = createMarker(point, "green");
marker.enableDragging();
GEvent.addListener(marker, "drag", function() {
document.getElementById(''.$this->InputLatName.'\').value = marker.getPoint().y;
document.getElementById(''.$this->InputLonName.'\').value = marker.getPoint().x;
});
'.$this->map_id.'.addOverlay(marker);
} else {
marker.setPoint(point);
}
});
';
}
else
$str="";
return $str;
}
Apres ces modifications il suffit, dans la page ou il y a l'appel a l'objet de rajouter, dans l'enonciation des variables et markeur de mettre :
$map->Flag_DragMarker=true;
$map->InputLatName="inputlatname";
$map->InputLonName="inputlonname";
Et bien sur d'ajouter sur la page les deux input afin de recuperer les value avec les noms enoncé au dessus.