public function LeafletService::leafletProcessGeofield in Leaflet 8
Same name and namespace in other branches
- 2.1.x src/LeafletService.php \Drupal\leaflet\LeafletService::leafletProcessGeofield()
 - 2.0.x src/LeafletService.php \Drupal\leaflet\LeafletService::leafletProcessGeofield()
 
Convert a geofield into an array of map points.
The map points can then be fed into $this->leafletRenderMap().
Parameters
mixed $items: A single value or array of geo values, each as a string in any of the supported formats or as an array of $item elements, each with a $item['wkt'] field.
Return value
array The return array.
File
- src/
LeafletService.php, line 183  
Class
- LeafletService
 - Provides a LeafletService class.
 
Namespace
Drupal\leafletCode
public function leafletProcessGeofield($items = []) {
  if (!is_array($items)) {
    $items = [
      $items,
    ];
  }
  $data = [];
  foreach ($items as $item) {
    // Auto-detect and parse the format (e.g. WKT, JSON etc).
    /* @var \GeometryCollection $geom */
    if (!($geom = $this->geoPhpWrapper
      ->load(isset($item['wkt']) ? $item['wkt'] : $item))) {
      continue;
    }
    $data[] = $this
      ->leafletProcessGeometry($geom);
  }
  return $data;
}