FIX: MapAPI key

This commit is contained in:
Tony Air 2022-06-16 01:33:01 +02:00
parent 8f8306cc9e
commit 6d82e2826f

View File

@ -44,8 +44,8 @@ class SiteConfigExtension extends DataExtension
{ {
private static $db = [ private static $db = [
'ExtraCode' => 'Text', 'ExtraCode' => 'Text',
'Longitude' => 'Decimal(10, 8)', 'Lng' => 'Decimal(10, 8)',
'Latitude' => 'Decimal(11, 8)', 'Lat' => 'Decimal(11, 8)',
'MapZoom' => 'Int', 'MapZoom' => 'Int',
'Description' => 'Varchar(255)', 'Description' => 'Varchar(255)',
'Address' => 'Varchar(255)', 'Address' => 'Varchar(255)',
@ -122,7 +122,7 @@ class SiteConfigExtension extends DataExtension
// Get country field // Get country field
$countryLabel = _t('Addressable.COUNTRY', 'Country'); $countryLabel = _t('Addressable.COUNTRY', 'Country');
$allowedCountries = Config::inst()->get(SiteConfig::class, 'allowed_countries'); $allowedCountries = Config::inst()->get(SiteConfig::class, 'allowed_countries');
if($allowedCountries && count($allowedCountries) >= 1) { if ($allowedCountries && count($allowedCountries) >= 1) {
$addrFields[] = DropdownField::create( $addrFields[] = DropdownField::create(
'Country', 'Country',
$countryLabel, $countryLabel,
@ -167,16 +167,38 @@ class SiteConfigExtension extends DataExtension
public function getGeoJSON() public function getGeoJSON()
{ {
return '{"type": "MarkerCollection","features": [{"type": "Feature","icon": "<i class=\'fas fa-map-marker-alt\'></i>",' return \json_encode([
.'"properties": {"content": "'.$this->owner->getTitle().'"},"geometry": {"type": "Point",' 'type' => 'MarkerCollection',
.'"coordinates": ['.$this->owner->getField('Lng').','.$this->owner->getField('Lat').']}}]}'; 'features' => [
[
'id' => 'SiteConfig' . $this->owner->ID,
'type' => 'Feature',
'icon' => '<i class="fa-icon fas fa-map-marker-alt"></i>',
'properties' => [
'content' => $this->owner->renderWith('A2nt/ElementalBasics/Models/MapPin'),
],
'geometry' => [
'type' => 'Point',
'coordinates' => [
$this->owner->Lng,
$this->owner->Lat,
],
],
]
]
]);
}
public function DirectionsLinkURL()
{
return 'https://www.google.com/maps/dir/Current+Location/'
.$this->owner->Lat.','
.$this->owner->Lng;
} }
public function DirectionsLink() public function DirectionsLink()
{ {
return '<a href="https://www.google.com/maps/dir/Current+Location/' return '<a href="'.$this->DirectionsLinkURL().'" class="btn btn-primary btn-directions" target="_blank">'
.$this->owner->getField('Lat').','
.$this->owner->getField('Lng').'" class="btn btn-primary btn-directions" target="_blank">'
.'<i class="fas fa-road"></i> Get Directions</a>'; .'<i class="fas fa-road"></i> Get Directions</a>';
} }