/**
  * {@inheritdoc}
  */
 protected function build(Definition $definition, Model $model, DefinitionMapper $mapper, Filter $filter = null, Definition $parent = null)
 {
     if (!$definition instanceof OverpassLayer) {
         return;
     }
     $amenityIconsMap = $this->buildAmenityIconsMap($model);
     $definition->setOption('amenityIcons', $amenityIconsMap);
     if ($model->pointToLayer) {
         $definition->setPointToLayer(new Expression($model->pointToLayer));
     }
     if ($model->onEachFeature) {
         $definition->setOnEachFeature(new Expression($model->onEachFeature));
     }
     if ($model->overpassPopup) {
         $definition->setOption('overpassPopup', new Expression($model->overpassPopup));
     }
 }
 /**
  * {@inheritdoc}
  */
 protected function build(Definition $definition, \Model $model, DefinitionMapper $mapper, Filter $filter = null, Definition $parent = null)
 {
     if ($definition instanceof GeoJson) {
         if ($model->boundsMode) {
             $definition->setOption('boundsMode', $model->boundsMode);
         }
         $collection = $this->loadMarkerModels($model);
         if ($collection) {
             foreach ($collection as $item) {
                 $marker = $mapper->handle($item);
                 $point = $mapper->convertToGeoJsonFeature($marker, $item);
                 if ($point) {
                     $definition->addData($point, true);
                 }
             }
         }
         if ($model->pointToLayer) {
             $definition->setPointToLayer(new Expression($model->pointToLayer));
         }
     }
 }