Google libera libkml
Via Maps API Blog:
Google ha lanzado la versión 0.2 de libkml, una biblioteca de código abierto para serializar y deserializar archivos KML. Ahora libkml utiliza un sistema de gestión de memoria basado en "smart pointers" (punteros inteligentes), lo cual deja obsoleto el uso de SCons. En Linux y Mac OS X se puede utilizar el tradicional automake, y en Windows el Microsoft Visual Studio. El "smart pointer" (puntero inteligente) actualmente restringe el soporte para algunos lenguajes, por lo que libkml 0,2 sólo esta disponible para C + +, Java y Python. La versión 0,1 soporta PHP, Perl y Ruby, y está disponible en el repositorio de Subversion si estás interesado. Estamos en plan de restaurar el anterior soporte tan pronto como podamos.
-Ejemplo de uso-
-
// createkml.cc
-
// This program uses the KmlFactory to create a Point Placemark and
-
// prints the resultant KML on standard output.
-
-
#include
-
#include
-
#include "kml/dom.h"
-
-
// libkml types are in the kmldom namespace
-
using kmldom::CoordinatesPtr;
-
using kmldom::KmlPtr;
-
using kmldom::KmlFactory;
-
using kmldom::PlacemarkPtr;
-
using kmldom::PointPtr;
-
-
int main() {
-
// Get the factory singleton to create KML elements.
-
KmlFactory* factory = KmlFactory::GetFactory();
-
-
// Create .
-
CoordinatesPtr coordinates = factory->CreateCoordinates();
-
// Create -122.0816695,37.42052549
-
coordinates->add_point2(-122.0816695,37.42052549);
-
-
// Create and give it .
-
PointPtr point = factory->CreatePoint();
-
point->set_coordinates(coordinates);
-
-
// Create and give it a and the .
-
PlacemarkPtr placemark = factory->CreatePlacemark();
-
placemark->set_name("Cool Statue");
-
placemark->set_geometry(point);
-
-
// Create and give it .
-
KmlPtr kml = factory->CreateKml();
-
kml->set_feature(placemark);
-
-
// Serialize to XML
-
std::string xml = kmldom::SerializePretty(kml);
-
-
// Print to stdout
-
std::cout <<xml;
-
}
Link: Maps API Blog | libkml Marches On!
Posts Relacionados
Dejanos un comentario.