<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://fantome.titaxium.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Fantome</title>
  <link>http://fantome.titaxium.com/</link>
  <atom:link href="http://fantome.titaxium.com/feed/rss2" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Thu, 03 Dec 2009 04:59:03 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>API Google Map</title>
    <link>http://fantome.titaxium.com/post/2008/05/21/API-Google-Map</link>
    <guid isPermaLink="false">urn:md5:c69d3e262578873e52ee2dc36a69f014</guid>
    <pubDate>Thu, 22 May 2008 23:21:00 +0200</pubDate>
    <dc:creator>Fantome</dc:creator>
        <category>API</category><category>Google</category><category>Map</category>    
    <description>&lt;p&gt;L'API Google Map vous permet d'ajouter des cartes, sous différentes formes, sur vos pages Web grâce à Java Script. L'API fournit aussi de nombreuses méthodes pour personnaliser ces cartes, afin quelles correspondent à vos besoins ; le tout utilisant le moteur Google Map.&lt;/p&gt;    &lt;h2&gt;Première utilisation de l'API&lt;/h2&gt;
&lt;p&gt;Premièrement il faut &lt;a href=&quot;http://code.google.com/apis/maps/signup.html&quot; hreflang=&quot;en&quot;&gt;s'enregistrer&lt;/a&gt; pour obtenir une clé d'utilisation (l'inscription, comme le service sont gratuits).
Maintenant la clé d'utilisation récupérée on va voir comment ajouter une simple carte&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Charger le système Google AJAX APIs qui contient un chargeur pour accéder aux différentes API Google, ajouter le code qui suit entre les balises &amp;lt;head&amp;gt; de votre page, en remplaçant &lt;em&gt;ABCDEFG&lt;/em&gt; par votre clé&amp;nbsp;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.google.com/jsapi?key=ABCDEFG&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensuite on peut charger l'API Map et l'initialiser&amp;nbsp;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;
google.load(&quot;maps&quot;, &quot;2&quot;);&lt;br /&gt;     &lt;br /&gt;     function initialize()&lt;br /&gt;     {&lt;br /&gt;         var map = new google.maps.Map2(document.getElementById(&quot;map&quot;));&lt;br /&gt;         map.setCenter(new google.maps.LatLng(37.4220, -122.0841), 14);&lt;br /&gt;     }&lt;br /&gt;     google.setOnLoadCallback(initialize);&lt;br /&gt;   &amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;On charge ici la version 2 de l'API Map (&lt;em&gt;google.load(&quot;maps&quot;, &quot;2&quot;);&lt;/em&gt;) et on enregistre la fonction &lt;strong&gt;initialize&lt;/strong&gt; comme devant être appelée après le chargement (&lt;em&gt;google.setOnLoadCallback(initialize);&lt;/em&gt;). Cette fonction a pour rôle, d'abord, de créer une nouvelle carte dans l'élément repéré par l'Id &lt;strong&gt;map&lt;/strong&gt; et de centrer la carte sur les coordonnées 37.4220N, 122.0841O, qui corresponde au Googleplex.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comme vue précédemment la carte est créée dans l'élément &lt;strong&gt;map&lt;/strong&gt; il faut donc le créer, pour cela ajouter entre vos balises &amp;lt;body&amp;gt; un code du style&amp;nbsp;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;div id=&quot;map&quot; style=&quot;width: 500px; height: 300px&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voila notre première carte, le résultat est visible sur &lt;a href=&quot;http://fichiers.fantome-dev.net/titaxium/googleMap/presentation.htm&quot; hreflang=&quot;fr&quot;&gt;cette page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Avant de passer à la suite on va faire une dernière modification pour éviter les pertes de mémoire. Pour cela il faut appeler la méthode &lt;strong&gt;GUnload&lt;/strong&gt; en quittant la page : &lt;code&gt;&amp;lt;body onload=&quot;GUnlod()&quot;&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Quelques options&lt;/h2&gt;
&lt;p&gt;Pour pouvoir interagir avec la carte il nous faut d'abord modifier un peu le code écrit précédemment pour avoir accès à l'objet &lt;strong&gt;map&lt;/strong&gt;. On déclare donc la variable map en dehors de toute fonction ce qui nous donne le code suivant :&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;&amp;nbsp; google.load(&quot;maps&quot;, &quot;2&quot;);&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; var map;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; function initialize()&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map = new google.maps.Map2(document.getElementById(&quot;map&quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.setCenter(new google.maps.LatLng(37.4220, -122.0841), 10);&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; google.setOnLoadCallback(initialize);&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Tous les exemples suivants sont visibles sur &lt;a hreflang=&quot;fr&quot; href=&quot;http://fichiers.fantome-dev.net/titaxium/googleMap/option.htm&quot;&gt;cette page&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Modifier le type d'affiche&lt;/h3&gt;
&lt;p&gt;Pour cela on utilise la méthode &lt;strong&gt;setMapType&lt;/strong&gt; qui prend comme paramètre le type d'affiche, 3 configurations sont disponibles :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;G_NORMAL_MAP&lt;/strong&gt; : vue classique de Google Map sous forme de cartes vectorisées&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;G_SATELLITE_MAP&lt;/strong&gt; : photo satellite avec un rendu identique à Google Earth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;G_HYBRID_MAP&lt;/strong&gt; : Combinaison des deux vues précédentes, un fond formé de photos satellites avec en surimpression les routes vectorisées&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Interagir avec la carte&lt;/h3&gt;
&lt;p&gt;On a déjà vu la méthode &lt;strong&gt;setCenter&lt;/strong&gt; qui permet de centrer la carte sur un point. Il existe de nombreuses autres méthodes qui permettent d'interagir avec la carte, on va voir quelque exemple ici.&lt;/p&gt;
&lt;p&gt;La méthode &lt;strong&gt;panTo&lt;/strong&gt; permet de se déplacer vers un autre point de la carte, ex : &lt;code&gt;map.panTo(new GLatLng(48.8, 2.3));&lt;/code&gt; On voit au passage l'utilisation de l'objet &lt;strong&gt;GLatLng&lt;/strong&gt; qui permet de créer un point de repère à partir de ses coordonnées (latitude, longitude).&lt;/p&gt;
&lt;p&gt;Les méthodes &lt;strong&gt;zoomIn&lt;/strong&gt;, &lt;strong&gt;zoomOut&lt;/strong&gt; et &lt;strong&gt;setZoom&lt;/strong&gt; permettent respectivement de zoomer, dézoomer et définir le niveau de zoom.&lt;/p&gt;
&lt;h3&gt;Activation des contrôles&lt;/h3&gt;
&lt;p&gt;Il est aussi possible d'activer/désactiver tous les contrôles habituels de Google Map. Par exemple &lt;strong&gt;enableScrollWheelZoom &lt;/strong&gt;et &lt;strong&gt;disableScrollWheelZoom &lt;/strong&gt;permettent d'activer/désactiver le zoom molette.&lt;/p&gt;
&lt;p&gt;Il est aussi possible de connaitre l'état d'activation de ces contrôles. Par exemple &lt;strong&gt;scrollWheelZoomEnabled &lt;/strong&gt;renvoie &lt;code&gt;true &lt;/code&gt;si le zoom molette est activé.&lt;/p&gt;
&lt;p&gt;On peut ajouter différent menus/contrôles sur la carte à l'aide de la méthode addControl qui se construit, par exemple pour ajouter un choix de type d'affichage, comme suit : &lt;code&gt;map.addControl(new google.maps.MenuMapTypeControl());&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;D'autres types de contrôle peuvent être utilisés comme par exemple &lt;strong&gt;SmallMapControl &lt;/strong&gt;et &lt;strong&gt;LargeMapControl &lt;/strong&gt;qui permettent de contrôler la position de la carte.&lt;/p&gt;
&lt;h2&gt;Une suite...&lt;/h2&gt;
&lt;p&gt;Donc on va s'arrêter là pour ce premier billet sur Google Map API. Il reste encore pas mal de possibilités à explorer et elles le seront surement dans de futures billets.&lt;/p&gt;
&lt;p&gt;En attendant la suite voilà quelques liens pour se documenter plus en profondeur sur ce système :&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://code.google.com/apis/maps/&quot;&gt;Home&lt;/a&gt; : la page principale de l'API Google Map&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://code.google.com/apis/maps/documentation/reference.html&quot;&gt;Référence&lt;/a&gt; : La page de référence de la documentation&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://koti.mbnet.fi/ojalesa/exam/index.html&quot;&gt;ESA Google Map API&lt;/a&gt; : Une page de l'ESA regroupant des exemples d'utilisation&lt;/li&gt;
&lt;/ul&gt;</description>
    
    
    
          <comments>http://fantome.titaxium.com/post/2008/05/21/API-Google-Map#comment-form</comments>
      <wfw:comment>http://fantome.titaxium.com/post/2008/05/21/API-Google-Map#comment-form</wfw:comment>
      <wfw:commentRss>http://fantome.titaxium.com/feed/atom/comments/144</wfw:commentRss>
      </item>
    
</channel>
</rss>