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/Cloud Console 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


Make sure that you also enter your billing information into your Google account. You will also need to upgrade the account from a trial account to a paid account. You may upgrade in your Google Cloud Platform Console by clicking on the Activate button on the top of the page.  If you do not see Activate, click Free trial status Free trial status icon in the upper-right of the page and Activate will appear. 


You will not be billed unless you exceed the quota for the the Javascript API or Geocoding API. (At time of writing, the quota is 28,000 dynamic maps per month for the Javascript API and 40,000 geocodes per month for Geocoding your locations).


See these articles for Billing/Quota information and upgrading your account:

https://developers.google.com/maps/documentation/javascript/usage-and-billing

https://developers.google.com/maps/documentation/geocoding/usage-and-billing

https://cloud.google.com/free/docs/gcp-free-tier#how-to-upgrade 


To use your own Google Maps API key with Bullseye, you must create the key through a Google developers account and enable at minimum one API:

  • Google Maps JavaScript API 

If you want to set restrictions on your API key (this is suggested by Google) you will also need to enable the following API:

  • Google Maps Geocoding API

Follow these steps to complete this process:


1. Log in to the Google APIs manager


Go to: https://console.developers.google.com/apis 


Log in with a valid Google account 


(You may be asked to accept updated terms of service).

2. Create a project 


Select "New project" as per the screenshot: 




You will see options to name your project, and choose an organization.  You also have the option of creating a project ID beneath the project name:


You may use the default names or IDs or enter your own as you wish.  Select "Create" when you are done.


You will be taken to the Select a project page.  You'll see the message "To view this page, select a project".  Click on "Select:"




You will see the following:



Click on the project under the name heading.  You'll be taken to a page that looks like this:



You will see many different options relating to Map APIs and services.  The 2 options that pertain to Bullseye are: Maps JavaScript API and Geocoding API (don't confuse the latter with Geolocation API).  As mentioned, if you want to set up Bullseye without restrictions on the key, you will only need the Maps JavaScript API.  If you do want to set up restrictions, you will need both the JavaScript API and Geocoding API.


Start by selecting the Maps JavaScript API. You will see the following:



Select Enable:




Notice the second item in the left navigation is APIs.  Select APIs.  You will see the following:



Select "Maps JavaScript API".  You'll see the following:



On the top right, you'll see the Activate Button.  Select the Activate Button.  You will see the following:



Select "Continue".  You will see the following:


If you scroll down to the bottom of the page, you will also see an option to enter your credit card information, and to start your free trial.  Enter a credit card and Select "Start My Free Trial".  You will see the following:


Note: You are signing up for a 12 month trial which will grant you $300 of use within the 12 month period.  When you use up the $300 or within 12 months, you will need to upgrade your account to a paid account.  When you upgrade to your paid account, you will still be able to use Google Maps for free as long as you don't exceed $200 of use per month (28,000 map generations per month).  



3. Create Credentials (API Key) and Enable the Map JavaScript API 


The next steps will be to create your credentials, and create access to the Map JavaScript API (assuming you want to set restrictions) which allow you to generate a map for your Bullseye interface, and access to Geocoding API which allow you to get lat/long coordinates for your locations to plot on the map.


After you select "Got It" you will see the screen below:



Select "API" as in the example above.  You will see this screen:




Select "Enable APIs and Services" as in the example above.



Select "Maps JavaScript API". You will see this screen:




Select "Manage" as displayed above. You will see the following:



Select "Credentials".  You'll see this screen:



In the middle of the page there is a link for "Credentials in APIs & Services."  Select that link.  



Select "Create Credentials."  You will see the following:



 


Select "API key" from the drop down menu. You will see this screen:






Select "Restrict Key." You'll see the following:




You'll see the Restrict and rename API key screen.  Copy the API key on the top right under "API Key" and save it somewhere. Simply Select "Save" if you want to use the the Javascript Mapping Key without restrictions. You can add restrictions later on if necessary.  If you do not want to add restrictions, you may simply enter the copied the API key in the Bullseye Admin under Settings/Set Up/Mapping.  The key should be pasted in the Mapping API field, beneath the heading "Use Your Own Mapping." If you are not going to make restrictions, also select the checkbox "Same as Mapping API Key." Select "Save" at the bottom of the page. There is a visual at the bottom of this article for reference.


If you are ready to add restrictions now, you may add those before saving.


Setting Restrictions (Optional)


Google suggests setting restrictions on your key to prevent unauthorized use of your key. If you set up restrictions, you will need to also create a 2nd API key (Geocoding API key).  From the credentials page on your Maps JavaScript API page there is a link to "Secure Credentials:"



Select "Secure Credentials" if you have saved already. You'll see the following page.  If you haven't saved, skip the screenshot above and see this screenshot:


 



Under "Application restrictions" select HTTP referrers.  Under Website restrictions, you'll need to enter both www.bullseyelocations.com and (yourdomain).bullseyelocations.com (get your domain by going to Settings/Account in your Bullseye account.  The url is under "Subdomain.")  If you are using a custom locator instead of Bullseye standard Iframe-based, 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.


We also suggest entering "app.bullseyelocations.com" to the search api key in order to view the maps inside the admin, when you view the details of each location, or need to make edits. 


This Facebook URL (facebook.bullseyelocations.com) may be entered if you are using the Facebook locator for Bullseye. 


You don't need to enter https: when you enter these urls.


Also make sure Restrict Key is selected under API restrictions.  Select the Maps Javascript API key under the drop drown under Restrict Key.  Select Save


Make sure you have copied the key which is on the top right, and paste the Javascript API key under Settings/Set Up/Mapping in your Bullseye account. The key should be pasted in the Mapping API field, beneath the heading "Use Your Own Mapping."  Select "Save" at the bottom of the page.



Enable the Geocoding API Key


Although the Map JavaScript API is capable of providing geocodes for your locations so they may be plotted in Bullseye's search results, if you enter restrictions on that key, Geocoding will need to be handled by the Geocoding API key.


You will need to take the same steps you took for the Maps Javascript API to enable and set restrictions. Select "APIs" from the APIs page.  See the image below:




Also select "Geocoding API" (make sure you don't select Geolocation API by mistake). You will see the following:



Select "Enable." You will see the following:



Select "Credentials."  You will see the following:



Select "Credentials in APIs & Services".  You will see the following:



Under the Create Credential drop down, select "API key". You will see this:




To set restrictions on the Geocoding API key, select "Restrict Key" as displayed above. You will see the following:



For the Geocoding key, you will need to make restrictions based on IP addresses.  Under "Application Restrictions" select IP addresses.  You will enter 1 or 2 IP addresses.  Many clients enter locations by uploading them in a CSV file, or by typing them manually into the admin.  If that is the case for you, enter 146.20.85.38 under "Accept Requests from these server IP addresses." If your location maintenance will be done via automation via XML files, or automated through CMS automation with applications like Salesforce.com, then also enter (146.20.85.39) to that key's restriction list. 


Under API restrictions, select Restrict Key, and select the Geocoding API in the drop down menu.


Copy the Key, and select Save at the bottom.


Paste the key into your Bullseye account under Settings/Set Up/Mapping/User Your Own Mapping/GeoCoding API Key.


4. Visual of the screen where the Google API Keys are pasted 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: