access_token ?: Config::inst()->get(MapboxGeocodeService::class, 'mapbox_api_key'); } /** * @param string $name * @param string $title * @param string $latitudeField * @param string $longitudeField */ public function __construct($name, $title, $latitudeField, $longitudeField) { $cfg = self::config(); // check access_token if (!self::getAccessToken()) { return user_error(self::class.': Please set Mapbox.com Access token'); } $this->curr_style = $cfg->get('map_style'); $children = [ HiddenField::create($latitudeField) ->setAttribute('data-mapbox-field', 'Lat'), HiddenField::create($longitudeField) ->setAttribute('data-mapbox-field', 'Lng') ]; parent::__construct($children); $this->setName($name); $this->setTitle($title); } public function getAttributes() { $attrs = parent::getAttributes(); return array_merge($attrs, [ 'class' => $attrs['class'].' stacked', 'data-style' => $this->getStyle(), ]); } public function getStyle() { return $this->curr_style; } public function setStyle($style) { $this->curr_style = $style; return $this; } }