This is most likely the trickiest point in the Woffice setup. We will try to explain everything here to make sure it is as clear as possible.
Which APIs are used?
First, let see which API is needed and for what purposes: in Woffice we use two Google APIs for the maps. Any API call requires an authentication so you must get at least a key.
- Create all the maps (members map, option maps, directory maps, events map...).
- Mainly all the maps rendered in the frontend and client side.
|- It turns addresses into GPS coordinates using Google API.|
- Members map only
- It is not used within the map
|Key option location||Appearance > Theme Settings > General Options > GOOGLE MAP API KEY||Unyson > Woffice Members Map > Settings |
Any other plugin using the same API can be a conflict cause.
They all have an option to deactivate the the API call from their settings. Use the Theme one.
|No conflict here is possible. |
|When are API calls made?||Whenever a map is created on the user's browser.||Whenever you hit the "refresh all coordinates" button on extension's settings page.|
When any member saves his profile, a call will be made if the Location field is present.
How to get a key for each API?
- Reach the API Google Dashboard: https://console.developers.google.com/apis/
- Create a new Project (the name does not matter):
- Find the 2 APIs that must be enabled from the APIs library:
- Enable each API:
- Get a key:
- When clicking this button, select "API key", you'll now find your key:
There are several issues that may occur due to your plugins, setup, settings. Yet, it works most of the time in one shot! :) If you still have some issues please have a look below.
Google MAP Geocoding API:
If you still have any issue with the map not displaying, then please check whether you are using the Pro Event Calendar plugin or not. If so, go to your WP Admin panel > Event Calendar > Settings
Check "Exclude Google Maps JS file?" option and save changes .
Member Map not showing pins:
After that, edit 2 or 3 user's profile and make sure to fill the location from the location field for testing purpose. Country name should be enough for testing.