We have provided condensed instructions here to make implementation of Google Maps easy with Bullseye. You will need to have a Google account (gmail account) before you create your Developer's account which is necessary to obtain the Key. These instructions assume you do not have a developer's account created yet, and that you are using a standard Bullseye interface. Google also provides instructions on how to use their API Key: https://developers.google.com/maps/documentation/embed/get-api-key#key-restrictions
To use your own Google Maps API key with Bullseye, you must create the key through a Google developers account and enable two specific APIs:
- Google Maps Geocoding API
1. Log in to the Google APIs manager
Log in with a valid Google account
(You may be asked to accept updated terms of service).
2. Create a project
Select "Create project" as per the screenshot:
You will see an option to select or create as per the image below, select "create".
You will see a page that has your project name and organization. You may also see a "location" heading.
Project Name: You may keep the default name or change as needed.
Organization: This will be based upon the domain you set up with your Google account.
Location: If your organization has a folder set up already, you can use the default folder that is supplied in the field. The location may not be included.
After you select "create" you may be taken directly to the API & Services page which lets you select the credentials link, or you may be taken to the dashboard. The dashboard looks like this:
Under "Getting Started" select "Enable APIs and get credentials like keys.
You will be taken to the aforementioned API & Services page:
Select "credentials" on the left hand side and next to "create credentials" in the middle of the page (circled above) and select the API key option from the drop down menu.
You will see the following:
Select "Restrict Key." You'll see the following:
For Now, Select "Save." You can add restrictions later on if necessary (see the end of this article). After you select "Save" You'll see the screen below:
We recommend that you copy the key with your mouse, and paste it somewhere. You will need to paste this key into the Bullseye admin later. After you have done that, select "Dashboard" as in the image above. You'll see the following:
Select "View All" on the right.
You'll see the following:
Select "Enable." You should see the following:
Now we need to enable the Geocoding API. This API allows you to assign lat/long coordinates to your locations so they can be used on the Google Map. Select "APIs" as in the image above. You will see the following:
Select Geocoding API which is under Unused APIs (make sure you don't select Geolocation API by mistake). You will see the following:
4. Paste the Google API Key into your Bullseye Account
Login to Bullseye at https://app.bullseyelocations.com/Admin/login.aspx
Go to Settings>Set Up>Mapping on the top right. You will see the following:
1. Select the Google checkbox on the top left, benath "Use Your Own Mapping."
3. Check the "Same as Mapping API Key" checkbox.*
4. Select "Default Mapping Service."
5. Select Save.
*Notes on the Geocoding API and setting restrictions.
If you want to set restrictions on accessing the Google API (i.e. make it so that only your account can access it to prevent possible unauthorized access/fraud) we recommend that you restrict http referrals (as displayed in step 3 above). For Facebook interfaces you'll need to enter "facebook.bullseyelocations.com" For website interfaces you'll need to allow "www.bullseyelocations.com" and "(yourdomain).bullseyelocations.com" To obtain your domain, go to Settings>Account on the top right when you are logged in to your Bullseye account. You will see the subdomain on the account page as in the example below:
You can paste that into your Google Developers account.
We also suggest entering "app.bullseyelocations.com" in order to view the maps inside the admin, when you view the details of each location, or need to make edits.
This is because when you set a restriction on an API key, Google only allows one type of restriction (such as http). Although Google will allow you to apply both http and ip address based restrictions, only one will work. Because our XML upload is based on IP address, you will need to give explicit IP address access on another API key in the same project in order to restrict access from both the Bullseye domain and IP address. Please allow requests from the following IP address. 220.127.116.11.
If you are using a custom locator, allow requests from the domain of the custom locator, or if your url has a subdomain, you'll need to allow requests from the entire url.