Gutenberg Block For Google Maps Embed By Pantheon

April 22, 2019

Gutenberg Block For Google Maps Embed By Pantheon Plugin

This plugin requires WordPress 5.0 or greater.

This plugin requires WordPress 5.0 or greater.

API Key

This plugin requires an API key to interact with Google Maps. Without an API key maps will not be displayed.

To obtain an API key follow these steps:
1. Create a new project in the Google Developer’s console by clicking here and selecting Create new project
1. Name your project
1. Select HTTP referrers (web sites) for the Key restriction type
1. Enter the domains where your API key will be used
– Example: *.mysite.com
1. Click the Create button
1. Write your API key down in a safe place
1. Enter the API key into the plugin settings
1. Clear full page caching, if necessary

Note: The API key will be exposed publicly to generate the map. It is important to restrict your API key so others do not abuse it. The API key will be used, and displayed, in both the WordPress editor and the front end of the site.

Use

Once you have saved an API key into the plugin settings simply enter a location, such as New York, NY, or a full address. You may also choose the map width, height, zoom level and toggle between an interactive map or a static image in the block settings, which are visible in the right-hand sidebar when the block is selected.

Installation

This plugin can be installed just like you would install any other WordPress plugin. Because Google Map embes require an API key you’ll need to provide a valid API key in plugin settings as well. See the detailed steps below.

  1. Install and activate the Gutenberg plugin if you are on a WordPress version <= 5.0
  2. Upload the plugin to the /wp-content/plugins/ directory
  3. Activate the plugin through the ‘Plugins’ menu in WordPress
  4. Obtain a Google Map embed API key (instructions below)
  5. Visit the plugin settings page and enter/save your Google Map embed API key
  6. Clear full page cache if enabled for your site so the API key can be read from the plugin settings via the REST API
  7. Search for Google Map when adding a new content block
  8. Enter a location for the map. This can be an exact address for a queryable location, such as New York, NY
  9. Optionally edit the advanced block settings

Screenshots

  1. Animated <code>GIF</code> showing a demo of the plugin

    Animated GIF showing a demo of the plugin

Changelog

1.5.3

Remove the server-side check for a valid Google Maps URL as it was failing and preventing the map from rendering in some environments. If an invalid Google Maps API key is provided, an error message from Google Maps will be rendered on the page.

1.5.2

Use the WordPress HTTP API instead of curl to check the response code of the map URL. Additionally, cache the map URL response code in a transient to avoid making a request on each page load.

Hide the API key input section in the map block settings when the Google Map API key is defined with the GOOGLE_MAPS_API_KEY constant. Additionally, add the api-key-input-container class to the div surrounding the API key input field in the map block settings for easier styling.

1.5.1

Aspect ratio bug fixes to address this WordPress.org issue.

  • Fix the 1:1 aspect ratio incorrectly displaying as 2:1
  • Move 16:9 ahead of 4:3 in the aspect ratio selection list so that the aspect ratios are in order of width

1.5.0

Allow non-admins to use the map block

The settings API endpoint requires the manage_options capability. This is problematic because only administrators have that permission by default so any users with a lesser role cannot use the map block.

The saved API key and a boolean of whether the current user has the manage_options capability are now passed to the block editor JS. Those values are used to determine if an API key is present. If it is not only users who have the manage_options capability are shown an option to update the API key. Users without that capability are directed to ask an administrator to save the API key.

Once an API key is saved the block works as expected for users without the manage_options capability as the API key is no longer fetched from the REST API for those users.

1.3.5

Remove wp-blocks dependency from block CSS registration

1.3.4

Enqueue block JavaScript in the footer

1.3.3

Add filter render_pantheon_google_map_block

1.3.2

Use InspectorControls in wp.editor rather than wp.blocks as it will be deprecated in Gutenberg 3.1

1.3.1

Fix a bug retrieving API key from the database causing the map to not display on the frontend

1.3

  • Upgrade to webpack 4

1.2

1.1.2

  • Enqueue block scripts/styles automatically using register_block_type
  • Change focus to isSelected
  • Disallow HTML editing of block source

1.1.1

  • Import controls from wp.components instead of wp.blocks.InspectorControls
  • Bump tested up to from 4.9.2 to 4.9.5

1.1.0

  • Dynamic block
  • API Key entered directly in the block
  • Removes plugin settings page
  • API key setting synced in global state between all blocks.
  • Updated README with new API instructions
    • Includes Google Developer flow link for API key
  • Use WordPress core settings REST API endpoint instead of a custom endpoint

1.0.0

  • Initial release

Details

  • Version: 1.5.3
  • Active installations: 200
  • WordPress Version: 5.0
  • Tested up to: 5.1.19
  • PHP Version: 5.6

Ratings


5 Stars
4 Stars
3 Stars
2 Stars
1 Stars