KML (Keyhole Markup Language)
A nyelvet a Keyhole Inc. fejlesztette a Google Earth alkalmazáshoz.
2008. áprilisában az OGC a KML-t nyílt szabványként fogadta el.
2008. áprilisában az OGC a KML-t nyílt szabványként fogadta el.
Hol találkozhatunk vele?
https://www.google.hu/maps/preview?hl=hu
https://maps.yahoo.com/
http://www.bing.com/maps/
https://maps.yahoo.com/
http://www.bing.com/maps/
Mire jó?
- Földrajzi jellemzők (pontok, vonalak, 3D modellek, képek, formák, sokszögek és idomok)
leírására, tárolására és modellezésére szolgáló XML fájlformátum
(pl. Google Föld, a Google Térkép és egyéb) alkalmazásokban.
leírására, tárolására és modellezésére szolgáló XML fájlformátum
(pl. Google Föld, a Google Térkép és egyéb) alkalmazásokban.
- Az kml file egy egyszerű, XML tagokkal lwier szöveges állomány, mely egyszerű szövegszerkesztővel
megnyitható, szerkeszthető menthető.
megnyitható, szerkeszthető menthető.
- Az így (kml-ben) leírt információkat meg oszthatja más (pl. WEB) alkalmazásoknak a több felhasználóval.
- Egy KML fájlt a Google Föld hasonlóan dolgoz fel ahhoz, ahogy a
webböngészők feldolgozzák a HTML és XML fájlokat. HTML-hez hasonlóan
a KML is névvel és attribútumokkal rendelkező jelölőket alkalmaz a
meghatározott megjelenítési céljaira. Ily módon a Google Föld a KML fájlok
böngészőjeként viselkedik.
webböngészők feldolgozzák a HTML és XML fájlokat. HTML-hez hasonlóan
a KML is névvel és attribútumokkal rendelkező jelölőket alkalmaz a
meghatározott megjelenítési céljaira. Ily módon a Google Föld a KML fájlok
böngészőjeként viselkedik.
A kml használható:
- helyhez tartozó ikonok, címkék meghatározására,
- a földfelszínhez tartozó képek csatolására,
- helyhez tartozó kamera nézetek definiálására,
- helyszín, orientáció és textúra meghatározására akár 3D objektumokhoz
- a földfelszínhez tartozó képek csatolására,
- helyhez tartozó kamera nézetek definiálására,
- helyszín, orientáció és textúra meghatározására akár 3D objektumokhoz
- Létezik még a KMZ fájl tipus, mely a KML fájlnak a tömörített változata.
XML (Extensible Markup Language) // Mint a kml hordozó nyelve
Fő jellemzői
- Az XML egy kicsit olyan, mint a HTML
- Olyan szöveg, de nem közvetlen emberi olvasgatásra való
- Az XML technológiák egy egész családja
- A célja az adatok strukturálása
- Az XML bőbeszédű, terjengős mert ilyennek tervezték, jelentős modularitás jellemzi
- Használata licenszmentes, platform-független és sokak által támogatott
A kml szintaszisa:
Megjegyzés sor: <!-- tetszőleges szöveg - ->
<Placemark> elem <description> elem támogatja a HTML jelölők egy részét a használatnál a CDATA elfedéssel kell élnünk az XML-en belül
Kml nyelvi szabályok:
- Kis és nagybetűk megkülönböztetése
- Sorrendiség, az információ leírási sorrend fontos
- Sorrendiség a szülő és gyerek elemek kötött, de egyes elem akár elhagyható
- A gyerek elem csak engedélyezett szülőhöz tartozhat
klm tag elemek:
Pont : Egy koordinátapárt jelöl (a térképen) A jelölőre kattintva további hasznos információkat tekinthetünk meg.
Vonallánc : Egy útvonalat jelöl (a térképen)
Groundoverlay : Egy külső kép a térképen, amely egy területet a megadott képpel helyettesíti.
Screenoverlay : Ezzel logókat, képeket, más hasznos információkat helyezhetünk el a térképen.
Multigeometry : Összetett alakzat, amely az ezőzőkben felsorolt alakzatok egy tetszőleges kombinációját tartalmazhatja.
Poligon : Egy tetszőleges csúccsal rendelkező alakzatot lehet kijelölni.
Vonallánc : Egy útvonalat jelöl (a térképen)
Groundoverlay : Egy külső kép a térképen, amely egy területet a megadott képpel helyettesíti.
Screenoverlay : Ezzel logókat, képeket, más hasznos információkat helyezhetünk el a térképen.
Multigeometry : Összetett alakzat, amely az ezőzőkben felsorolt alakzatok egy tetszőleges kombinációját tartalmazhatja.
Poligon : Egy tetszőleges csúccsal rendelkező alakzatot lehet kijelölni.
Kml minta:
----1.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>MIE Minta1 T-systems.hu</name>
<description>T-Systems.hu székház
Budapest, Budafoki út 56, Magyarország
</description>
<Point>
<coordinates>47.4542899,19.0540735,0</coordinates>
</Point>
</Placemark>
</kml>
----2
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>MIE Minta2 T-systems.hu</name>
<description>
<![CDATA[
<h1>T-Systems.hu székház</h1>
<p><font color="red">Budapest, <i>Magyarország</i><br/>
<b>Budafoki út 56</b> 2014.</font></p>
]]>
</description>
<Point>
<coordinates>47.4542899,19.0540735</coordinates>
</Point>
</Placemark>
</Document>
</kml>
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>MIE Minta1 T-systems.hu</name>
<description>T-Systems.hu székház
Budapest, Budafoki út 56, Magyarország
</description>
<Point>
<coordinates>47.4542899,19.0540735,0</coordinates>
</Point>
</Placemark>
</kml>
----2
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>MIE Minta2 T-systems.hu</name>
<description>
<![CDATA[
<h1>T-Systems.hu székház</h1>
<p><font color="red">Budapest, <i>Magyarország</i><br/>
<b>Budafoki út 56</b> 2014.</font></p>
]]>
</description>
<Point>
<coordinates>47.4542899,19.0540735</coordinates>
</Point>
</Placemark>
</Document>
</kml>
kml file html filebe ágyazása:
---1
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>MIE kml minta</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function initialize() {
var budapest = new google.maps.LatLng(47.4542899,19.0540735);
var mapOptions = {
zoom: 11,
center: budapest
}
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>MIE kml minta</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function initialize() {
var budapest = new google.maps.LatLng(47.4542899,19.0540735);
var mapOptions = {
zoom: 11,
center: budapest
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var ctaLayer = new google.maps.KmlLayer({
url: 'http://mierdekel.hu/kml/mie.kml'
/// csak internetről elérhető web cím lehet
});
ctaLayer.setMap(map);
}
url: 'http://mierdekel.hu/kml/mie.kml'
/// csak internetről elérhető web cím lehet
});
ctaLayer.setMap(map);
}
kml használata android programozásban:
<html>
<head><title>Mie KML teszt</title></head>
<body>
<a href="geo:0,0?q=file:///sdcard/mie.kml">mie.kml</a>
</body>
</html>
<head><title>Mie KML teszt</title></head>
<body>
<a href="geo:0,0?q=file:///sdcard/mie.kml">mie.kml</a>
</body>
</html>
Forrás(http://mierdekel.hu/klwp/2014/05/kml-es-hasznalata/)
Megjegyzések
Megjegyzés küldése