Get Started with Places UI Kit

  • To use the Places UI Kit, you must create a Cloud project, enable the Places UI Kit, and obtain an API key.

  • The Maps JavaScript API needs to be loaded using the inline bootstrap loader, including your API key and desired version.

  • Utilize the importLibrary() function to load specific libraries like places and elevation for using elements like PlaceDetailsElement, PlaceListElement, and ElevationElement.

Select platform: Android iOS JavaScript

This page shows you how to get an API key, enable the Places UI Kit, and load the libraries that support it.

Get an API key and enable the Places UI Kit

Before using the Places UI Kit, you need to:

  • Create a Cloud project with a billing account.
  • Enable the Places UI Kit.
  • Get an API key.

To learn more, see Set up your Google Cloud project.

Enable Places UI Kit

Get an API key

Load the required libraries

To load the libraries that support the Places UI Kit, first load the Maps JavaScript API by adding the inline bootstrap loader to your application code, as shown in the following snippet:

  <script>
    (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
      key: "YOUR_API_KEY",
      v: "weekly",
      // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
      // Add other bootstrap parameters as needed, using camel case.
    });
  </script>
    

Next, use the await operator to call importLibrary() from within an async function, as follows:

  // Import the Places Library for PlaceDetailsElement and PlaceSearchElement
  const {PlaceDetailsElement, PlaceSearchElement} = await google.maps.importLibrary('places');

  // Import the Elevation Library for ElevationElement
  const {ElevationElement} = await google.maps.importLibrary('elevation');
  

Learn more about loading the Maps JavaScript API.

Next steps