/**
  * {@inheritdoc}
  */
 protected function build(Definition $definition, \Model $model, DefinitionMapper $mapper, Filter $filter = null, Definition $parent = null)
 {
     parent::build($definition, $model, $mapper, $filter);
     if ($definition instanceof Circle) {
         $definition->setLatLng(LatLng::fromString($model->coordinates));
     }
 }
 /**
  * {@inheritdoc}
  */
 protected function build(Definition $definition, \Model $model, DefinitionMapper $mapper, Filter $filter = null, Definition $parent = null)
 {
     parent::build($definition, $model, $mapper, $filter);
     if ($definition instanceof MultiPolyline) {
         $this->createLatLngs($definition, $model);
     }
 }
 /**
  * {@inheritdoc}
  */
 protected function build(Definition $definition, \Model $model, DefinitionMapper $mapper, Filter $filter = null, Definition $parent = null)
 {
     parent::build($definition, $model, $mapper, $filter);
     if ($definition instanceof Polyline) {
         array_map(function ($row) use($definition) {
             $definition->addLatLng(LatLng::fromString($row));
         }, explode("\n", $model->data));
     }
 }
 /**
  * {@inheritdoc}
  */
 protected function buildConstructArguments(\Model $model, DefinitionMapper $mapper, Filter $filter = null, $elementId = null)
 {
     $latLngs = array_map(function ($latLng) {
         return LatLng::fromString($latLng);
     }, deserialize($model->bounds, true));
     $arguments = parent::buildConstructArguments($model, $mapper, $filter, $elementId);
     $arguments[] = new LatLngBounds($latLngs[0], $latLngs[1]);
     return $arguments;
 }