function main() { $factory = KmlFactory::GetFactory(); // Returns an object. echo "Creating a Placemark...\n"; $placemark = $factory->CreatePlacemark(); echo "Get the Type()...\n"; printf("placemark->Type(): %s\n", $placemark->Type()); echo "has_xxx() all return false...\n"; printf("placemark->has_id(): %d\n", $placemark->has_id()); printf("placemark->has_name(): %d\n", $placemark->has_name()); printf("placemark->has_visibility(): %d\n", $placemark->has_visibility()); printf("placemark->has_geometry(): %d\n", $placemark->has_geometry()); echo "Set some fields...\n"; // Object std::string $placemark->set_id("pm123"); // Feature std::string $placemark->set_name("hi"); // Feature bool $placemark->set_visibility(false); // True by default. echo "has_xxx() now return true...\n"; printf("placemark->has_id(): %d\n", $placemark->has_id()); printf("placemark->has_name(): %d\n", $placemark->has_name()); printf("placemark->has_id(): %d\n", $placemark->has_id()); echo "Get some fields...\n"; printf("placemark->id(): %s\n", $placemark->id()); printf("placemark->name(): %s\n", $placemark->name()); printf("placemark->visibility(): %d\n", $placemark->visibility()); echo "Clear fields...\n"; $placemark->clear_name(); $placemark->clear_id(); $placemark->clear_visibility(); printf("Placemark->has_id(): %d\n", $placemark->has_id()); printf("Placemark->has_name(): %d\n", $placemark->has_name()); printf("placemark->has_visibility(): %d\n", $placemark->has_visibility()); echo "visibility is true by default...\n"; printf("placemark->visibility(): %d\n", $placemark->visibility()); // PHP automatically cleans up placemark. }
function main($inputkml) { $feature = GetRootFeature(kmldom::ParseKml(ReadKmlFile($inputkml))); if ($feature) { VisitFeature($feature, 0); KmlFactory::GetFactory()->DeleteElement($feature); # PHP deletes the feature returned from ParseKml which in turn deletes # all child elements. } else { // The file is a KML fragment. echo "No root feature in {$inputkml}\n"; } }