public function KmlNormalizer::normalize in farmOS 2.x
File
- modules/core/kml/src/Normalizer/KmlNormalizer.php, line 47
Class
- KmlNormalizer
- Normalizes GeometryWrapper objects into array for the Kml encoder.
Namespace
Drupal\farm_kml\Normalizer
Code
public function normalize($object, $format = NULL, array $context = []) {
$kml_string = $object->geometry
->out('kml');
$kml = simplexml_load_string($kml_string);
$kml_name = $kml
->getName();
$kml_value = $kml
->children();
$placemark = [
'#' => [
$kml_name => $kml_value,
],
];
if (isset($object->properties['id'])) {
$placemark['@id'] = $object->properties['id'];
}
$properties = $this
->supportedProperties();
foreach ($properties as $property_name) {
if (isset($object->properties[$property_name])) {
$placemark['#'][$property_name] = $object->properties[$property_name];
}
}
return $placemark;
}