1 2 3 4 5 6 | UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Titre" message:@"Message" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; [alert release]; |
» [iPhone] créer un message d’alerte
» [iPhone] récupérer le DeviceID
Dans une fonction
1 2 | UIDevice *myDevice = [UIDevice currentDevice]; NSString *deviceUDID = [myDevice uniqueIdentifier]; |
Categories: Non classé • Commentaires fermés
» [php sql] trouver les POI dans un rayon donné autour d’un point…
Vous avez une carte, un point sur cette carte, des POI (points d’intérêt) rangés dans une base de données. Comment faire pour trouver tous les points d’intérêts dans une distance de x km autour du point ?
Facile, on utilise la formule de Haversine !
Read more »
Categories: Non classé • Commentaires fermés
» agrandir une google map …
Imaginez que vous récupériez pleins de points à afficher sur une carte, mais vous ne savez pas où se trouve le centre de cette carte, ni le niveau de zoom à apporter pour l’afficher proprement…
Pour savoir les points les plus éloigné de la carte (et donc le centre), vous pouvez faire ça par du code (PHP ou JavaScript) ou passer tout simplement par l’API Google maps ….
Read more »
Categories: Non classé • Commentaires fermés
» geolocalisation inversée
Nous avons traité dans l’article localisation l’obtention, grâce à Google, des coordonnées d’un point (latitude, longitude) suivant une adresse, maintenant on va voir l’inverse, càd on fournit à Google un point (latitude et longitude) et lui va tenter de nous retourner une adresse….
Read more »
» fonte personnalisée
Comment utiliser une fonte personnalisée sur son site web. Certain(e)s connaissent bien sIFR, mais là il ne s’agit pas de cela, mais de javascript… et ce, grâce à cufon.
Read more »
Categories: Non classé • Commentaires fermés
» geolocalisation
La geolocalisation sur iPhone, c’est géant, sur pc (ou linux/mac) ça fonctionne aussi, avec un navigateur compatible. Il faut en effet que le navigateur ait intégré la fonctionnalité (c’est le cas pour safari et firefox 3.5 pour le moment).
Pour utiliser la fonctionnalité, un simple code suffit. L’utilisateur valide la demande de localisation et hop c’est parti….
A noter toutefois une différence sur la précision de la localisation (ce qui est normal) entre un iPhone et un mac (ou un pc), le premier a une position donnée avec une précision de 150/200 mètres environs, le second à une précision proche des 500 mètres.
1 2 | // function est une fonction qui utilisera la position retournée. navigator.geolocation.getCurrentPosition(function); |
Voilà, une ligne, et plein de choses possibles…
Bon, plus sérieusement voilà un script un peu plus avancé :
1 2 3 4 5 6 7 8 9 10 | if (!navigator.geolocation) { // geolocalisation non disponible pour le navigateur... alert("#failed : geolocalisation not aviable with your browser. Sorry."); } else { // on tente de geolocaliser la personne... navigator.geolocation.getCurrentPosition(whereiam); } |
Maintenant on va utiliser le reste dans une fonction, ici ‘whereiam’
1 2 3 4 5 6 7 8 9 10 11 12 13 | function whereiam(position) { // données utiles : // position.coords.latitude // position.coords.longitude // position.coords.accuracy (exactitude, possiblement en mètres) // un alert par exemple alert('Vous êtes proche de la position ' + position.coords.latitude + '° lat, ' + position.coords.longitude + '° lon'); // on peut utiliser une google map aussi dans une balise <img> // http://maps.google.com/staticmap?center=" + position.coords.latitude + "," + position.coords.longitude + "&size=300x300&maptype=roadmap&zoom=16&key=GOOLE-API-KEY } |
Categories: Non classé • Commentaires fermés
» google maps API
le tout en javascript
1 2 3 4 5 6 7 8 | <!-- Chargement des script directement depuis les serveurs de chez google avec votre clé --> <script type="text/javascript" src="http://www.google.com/jsapi?key=GOOLE-API-KEY"></script> <!-- On charge ensuite les scripts qui nous intéressent --> <script type="text/javascript"> google.load("maps", "2", {"other_params":"sensor=true"}); google.load("jquery", "1"); </script> |
Categories: Non classé • 1 Comment »
» class MySQL pour php
Une classe php pour les connexions MySQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | class Mysql { var $host; var $user; var $pass; var $base; var $connect_id = 0; var $error; // PRIVATE : Constructeur initialise les parametre de la connexion function Mysql() { $this->host = 'host'; $this->user = 'user_name'; $this->pass = 'password'; $this->base = 'base_name'; } // PRIVATE : connection à la DB function connect() { $this->connect_id = mysql_connect($this->host, $this->user, $this->pass); if ($this->connect_id) { if(mysql_select_db($this->base, $this->connect_id)){ return $this->connect_id; } else return FALSE; } else return FALSE; } // PUBLIC : Envoi d'une requete a la DB function Send_Query($query) { if ( !$this->connect_id ) $this->connect($this->host,$this->user,$this->pass,$this->base); if ( $this->result_id = mysql_query($query, $this->connect_id) ) { $this->query = trim($query); $this->error = ''; return $this->result_id; } else { $this->error= mysql_error(); return FALSE; } } // PUBLIC : return the last auto increment insert ID, only use on MySQL function last_insert_id() { return @mysql_insert_id(); } // PUBLIC : renvoi le nombre d'enregistrement affecté function num_rows() { if ( isset($this->result_id) ) { if ( preg_match('`^select`i',$this->query) ) return @mysql_num_rows($this->result_id); if ( preg_match('`^(insert|update|delete)`i',$this->query) ) return @mysql_affected_rows($this->result_id); } else { return count($this->records); } } function get_object($query) { return @mysql_fetch_object($query); } // PUBLIC : renvoi le msg d'erreur mysql function return_error() { return @mysql_error(); } // PUBLIC : ferme la connection; function close() { @mysql_free_result($this->connect_id); return @mysql_close($this->connect_id) ; } // PUBLIC : vide les resultat des requete function free_result() { return @mysql_free_result($this->connect_id); } } |
En utilisation, cela peut donner
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // on délcare la classe $bd = new MySQL(); // on crée une connection $link = $bd -> connect(); // une requête SQL $req = "SQL COMMAND"; // on envoi à la base $res = $bd -> Send_Query($req, $link); // sur une SELECT, on peut traiter le nombre de lignes retournées if($bd->num_rows() == 0) { // arf, aucune info trouvée dans la base } else { // on fait un traitement sur les lignes trouvées si il y en a while($obj = $bd -> get_object($res)) { // chaque élément est atteignable avec $obj->nom_de_la_colonne; } } // on ferme $bd->close(); |
» upload en ajax
Soit 2 pages, l’une avec un formulaire d’upload (nommée index.html) et la seconde pour traiter les fichier envoyés (nommée traiter.php)
Dans la partie
, on insère les appels aux js ainsi que le script d’upload. Ici on l’appelle via une méthode Jquery mais il est possible de le faire via prototype.1 2 3 4 5 6 7 8 9 10 11 12 13 | $(document).ready(function(){ var a_envoyer = $('#le_morceau_qui_va_bien'), interval; new AjaxUpload(a_envoyer,{ action: 'traiter.php', name: 'nom_du_champ_php', onSubmit : function(file, ext){ // fonction quand le fichier vient d'être validé (affichage d'un gif animé ou autre) }, onComplete: function(file, response){ // fonction quand le fichier a été uploadé } }); }); |
Dans la partie
on retrouve là où sera l’emplacement de notre formulaire d’upload avec un simple bouton (pour l’exemple, mais on peut remplacer par une image ou autre)1 | <div id="le_morceau_qui_va_bien"><input type="button" value="Choisir un fichier" /></div> |
Pour le post traitement de notre fichier par le script php, on utilisera
1 2 | // le fichier de l'upload... $_FILES['nom_du_champ_php']['tmp_name']; |
Categories: Non classé • 1 Comment »