PHP Config File

All config settings available on the plugin's Settings page can also be managed via PHP in a config file. By setting these values in config/google-maps.php, they take precedence over whatever may be set in the control panel.

# Copy this file...
/vendor/doublesecretagency/craft-googlemaps/src/config.php

# To here... (and rename it)
/config/google-maps.php

Much like the db.php and general.php files, google-maps.php is environmentally aware (opens new window). You can also pass in environment values using the getenv PHP method.

Optional Geolocation Services

If you are using a third-party visitor geolocation service, then you may want to specify those credentials as well. The credentials you include depend entirely on which geolocation service you are using.

return [

    // Google Maps API keys (required)
    'browserKey' => getenv('GOOGLEMAPS_BROWSERKEY'),
    'serverKey'  => getenv('GOOGLEMAPS_SERVERKEY'),

    // Optional geolocation service ('ipstack', 'maxmind', or null)
    'geolocationService' => null,

    // ipstack (only needed if using the ipstack service)
    'ipstackApiAccessKey' => getenv('IPSTACK_APIACCESSKEY'),

    // MaxMind (only needed if using the MaxMind service)
    'maxmindUserId'     => getenv('MAXMIND_USERID'),
    'maxmindLicenseKey' => getenv('MAXMIND_LICENSEKEY'),
    'maxmindService'    => getenv('MAXMIND_SERVICE'),

    // Manage JS resources (when rendering a dynamic map on the front-end)
    'enableJsLogging' => true,
    'minifyJsFiles' => false,

    // Control the size of map UI elements in Address fields
    'fieldControlSize' => 27,

    // Additional optional parameters for configuring Address fields
    'fieldParams' => []

];

# Settings available via Control Panel

All settings pertaining to API keys and 3rd party geolocation services are also available via the control panel. For more information, consult the documentation regarding the Settings page.

You may also want to learn more about managing your Google API keys, and how to optionally use a 3rd party geolocation service.

# Settings available only via PHP file

Beyond the API keys and 3rd party geolocation services, all other settings can only be managed via the PHP config file.

# enableJsLogging

bool - Defaults to true.

Whether to log dynamic map progress to the JavaScript console when the site is in devMode.

// Prevent dynamic maps from logging to the console
'enableJsLogging' => false

# minifyJsFiles

bool - Defaults to false.

Whether to use minified JavaScript files when rendering a dynamic map on the front-end.

// Use minified JS files to render a map on the front-end
'minifyJsFiles' => true

# fieldControlSize

int - Defaults to 27.

Set the size of map UI elements (for all Address fields in the control panel).

For more details, see the official Google docs for the controlSize option (opens new window).

// Make the map UI elements larger for all Address fields
'fieldControlSize' => 50

Only applies to Address fields in the Control Panel

This does not apply to maps displayed on the front-end of your site. Unless otherwise overridden, Google will continue to set that value to 40 by default.

# fieldParams

array - Defaults to an empty array.

Add parameters to the internal Google Maps API URL (for all Address fields in the control panel).

There are many reasons why you may need to append additional parameters to the API URL. The most common usage is for localizing the Address maps (opens new window).

// Set the language and region biasing for all Address fields
'fieldParams' => [
    'language' => 'ja',
    'region' => 'JP',
]

Only applies to Address fields in the Control Panel

If you need to change the language or apply region biasing to your front-end maps, see the Changing the Map Language or Region Biasing guides, respectively.