osobní stránky / internetová prezentace ver.2.0
Panoramatická fotka v záhlaví stránky

Google maps a KML

Google umožnuje použití API Map na různých internetových stránkách. Podmínkou je však registrace na stránkách Google Sign up for Google Maps API. Ta vygeneruje klíč, který je platný pro jednu doménu (tu je nutno specifikovat při registraci).

Implementace Google Maps API do HTML dokumentu

Do vlastních stránek se následně vloží část HTML kódu, který definuje kde se má zobrazit mapa, jak má být velká, jaké má mít ovládání a jaké území má zobrazit.

Vzorový kód je následující:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
  <title>Stránka z mapou</title>
  <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=**KLÍČ**" type="text/javascript"></script>
</head>
<body onunload="GUnload()">
<h1>NADPIS</h1>
<p>POPIS</p>
<div id="map" style="width: **ŠÍRKA**px; height: **VÝŠKA**px;"></div>
<p><input type="button" value="Skryj data" onclick="map.removeOverlay(kml)"> <input type="button" value="Zobraz data" onclick="map.addOverlay(kml)"></p>
<noscript><b>Abyste mohli pracovat s mapou, musíte mít zapnutu podporu JavaScriptu.</b></noscript>
<script type="text/javascript">
//<![CDATA[
 if (GBrowserIsCompatible()) { 
   var map = new GMap2(document.getElementById("map"));
   map.addControl(new GLargeMapControl());
   map.addControl(new GMapTypeControl());
   map.setCenter(new GLatLng(**LAT**, **LONG**), **ZOOM**);
   map.setMapType(G_MAP_TYPE);
   var kml = new GGeoXml("**URL KML SOUBORU**");
   map.addOverlay(kml);
 }
 else {
  alert("Omlouváme se Vám, ale Váš prohlížeč neumožňuje pracovat s Google Maps API");
 }
 //]]>
</script>
</body>
</html>

Možnosti API

API má mnoho různých možností nastavení, nicméně pro nás je nejzajímavější definice mapy map.setCenter a map.setType. Zde je možno definovat kde bude mapa vystředěná, jaké bude mít měřítko (setCenter) a také jaká mapa bude zobrazená (setType). Pro informace o jednotlivých typech je možno nahlédnout do online dokumentace

Další nutnou informací je zdroj dat - odkaz na KML soubor, který obsahuje definici obsahu mapy.

KML

KML je zkratka z Keyhole Map Language. Jedná se o XML soubor popisující strukturovaně prostorová data, jako jsou body, linie a plochy.

KML se používá jako standard pro Google Earth a Google Maps. Většina nových GIS programů však do tohoto jazyka umí exportovat.

Struktura jazyka KML

Uvádím zde příklad KML dokumentu

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
  <Style id="bod">
  <IconStyle>
    <color>a1ff00ff</color>
    <scale>1</scale>
    <Icon>
      <href>http://maps.google.com/mapfiles/kml/paddle/purple-circle.png</href>
    </Icon>
  </IconStyle>
  </Style>
  <Placemark>
      <name>Nadace Partnerstvi</name>
      <description><![CDATA[Moje prace<br/><br/><strong>Adresa:</strong><br/>Udolni 33, Brno]]></description>
      <styleUrl>#bod</styleUrl>
      <Point>
        <coordinates>16.5982774264, 49.1972675878</coordinates>
      </Point>
  </Placemark>
</Document>
</kml>

Všechny značky (kromě úvodního ?xml) jsou párové.

skola/kml.txt · Poslední úprava: 21.04.2008 15:32 (upraveno mimo DokuWiki)
Tento web používá technologie Dokuwiki a OATG
© 1997 - 2012, Zbyšek Podhrázský, podhrazsky@zbych.cz