Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 18 additions & 23 deletions dist/samples/ui-kit-place-details-compact/app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,24 @@
<script type="module" src="./index.js"></script>
</head>
<body>
<!--[START maps_ui_kit_place_details_compact_container]-->
<gmp-map center="47.75972, -122.25094" zoom="19" map-id="DEMO_MAP_ID">
<gmp-place-details-compact orientation = "horizontal" slot="control-block-start-inline-center">
<!--[START maps_ui_kit_place_details_compact_request]-->
<gmp-place-details-place-request place = "ChIJC8HakaIRkFQRiOgkgdHmqkk"></gmp-place-details-place-request>
<!--[END maps_ui_kit_place_details_compact_request]-->
<!--[START maps_ui_kit_place_details_compact_config]-->
<gmp-place-content-config>
<gmp-place-media lightbox-preferred></gmp-place-media>
<gmp-place-rating></gmp-place-rating>
<gmp-place-type></gmp-place-type>
<gmp-place-price></gmp-place-price>
<gmp-place-accessible-entrance-icon></gmp-place-accessible-entrance-icon>
<gmp-place-open-now-status></gmp-place-open-now-status>
<gmp-place-attribution light-scheme-color="gray" dark-scheme-color="white"></gmp-place-attribution>
</gmp-place-content-config>
<!--[END maps_ui_kit_place_details_compact_config]-->
</gmp-place-details-compact>
<gmp-advanced-marker></gmp-advanced-marker>
</gmp-map>
<!--[END maps_ui_kit_place_details_compact_container]-->
<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: "AIzaSyA6myHzS10YXdcazAFalmXvDkrYCp5cLc8", v: "weekly"});</script>
<!--[START maps_ui_kit_place_details_compact_container]-->
<div id = "map-container">
<gmp-place-details-compact orientation="horizontal">
<!--[START maps_ui_kit_place_details_compact_request]-->
<gmp-place-details-place-request place = ChIJn97JQNpC1moRIcJsVMEQLI8></gmp-place-details-place-request>
<!--[END maps_ui_kit_place_details_compact_request]-->
<!--[START maps_ui_kit_place_details_compact_config]-->
<gmp-place-all-content></gmp-place-all-content>
<!--[END maps_ui_kit_place_details_compact_config]-->
</gmp-place-details-compact>
</div>
<!--[END maps_ui_kit_place_details_compact_container]-->
<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: "AIzaSyA6myHzS10YXdcazAFalmXvDkrYCp5cLc8",
v: "weekly"
});
</script>
</body>
</html>
<!--[END maps_ui_kit_place_details_compact] -->
73 changes: 60 additions & 13 deletions dist/samples/ui-kit-place-details-compact/app/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,68 @@
*/
/* [START maps_ui_kit_place_details_compact] */
// Use querySelector to select elements for interaction.
const map = document.querySelector('gmp-map') as google.maps.MapElement;
//@ts-ignore
const marker = document.querySelector('gmp-advanced-marker') as any;
const mapContainer = document.getElementById("map-container") as any;
const detailsContainer = document.getElementById("details-container") as any;
const placeDetails = document.querySelector("gmp-place-details-compact") as any;
const placeDetailsRequest = document.querySelector("gmp-place-details-place-request") as any;
let gMap;
let infowindow;
let marker;

async function initMap(): Promise<void> {
// Request needed libraries.
const { Map } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary;
const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary;
await google.maps.importLibrary("places") as google.maps.PlacesLibrary;
// Hide the map type control.
map.innerMap.setOptions({ mapTypeControl: false });
// Set marker collision behavior.
marker.collisionBehavior = google.maps.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL;
// Add marker to place location.
marker.position = { lat: 47.75972, lng: -122.25094 };
const { PlaceDetailsCompactElement, PlaceDetailsPlaceRequestElement } = await google.maps.importLibrary("places") as any;
const { Map, InfoWindow } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary;

const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary;
gMap = new Map(mapContainer, { mapId: 'DEMO_MAP_ID' });
marker = new AdvancedMarkerElement({ map: gMap });
infowindow = new InfoWindow({});

// Hide the map type control.
gMap.setOptions({mapTypeControl: false});

// Set up map, marker, and infowindow once widget is loaded.
placeDetails.style.visibility = 'visible';
placeDetails.addEventListener('gmp-load', (event) => {
console.log("placeDetails initialized!");
updateMapAndMarker();
});
// Add an event listener to handle clicks.
gMap.addListener("click", async (event) => {
marker.position = null;
event.stop();
// Fire when the user clicks on a POI.
if (event.placeId) {
console.log("clicked on POI");
console.log(event.placeId);
placeDetailsRequest.place = event.placeId;
updateMapAndMarker();
}
else {
// Fire when the user clicks the map (not on a POI).
console.log('No place was selected.');
};
});
// Function to update map, marker, and infowindow based on place details
const updateMapAndMarker = () => {
console.log("function called");
if (placeDetails.place && placeDetails.place.location) {
gMap.panTo(placeDetails.place.location);
gMap.setZoom(16); // Set zoom after panning if needed
marker.position = placeDetails.place.location;
marker.collisionBehavior = google.maps.CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL;
marker.style.display = 'block';
//@ts-ignore
infowindow.setOptions({
content: placeDetails
});
//@ts-ignore
infowindow.open({
anchor: marker,
map: gMap,
});
}
};
}
initMap();
/* [END maps_ui_kit_place_details_compact] */
58 changes: 48 additions & 10 deletions dist/samples/ui-kit-place-details-compact/app/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,22 @@
* SPDX-License-Identifier: Apache-2.0
*/
/* [START maps_ui_kit_place_details_compact] */
/*
* Optional: Makes the sample page fill the window.
*/
html,
body {
display: flex;
width: 100%;
height: 100%;
margin: 0;
}

h1 {
font-size: 16px;
text-align: center;
}

gmp-map {
height: 600px;
pointer-events: none;
#map-container {
box-sizing: border-box;
width: 100%;
}
/* [START maps_ui_kit_place_details_compact_style] */
gmp-place-details-compact {
Expand All @@ -25,16 +29,50 @@ gmp-place-details-compact {
/* Sets the background color of the surface */
/* Adapts automatically to the user's system light/dark mode preference */
--gmp-mat-color-surface: light-dark(white, black);

/* Defines the primary font stack used within the component */
--gmp-mat-font-family: Google Sans Text, sans-serif;
/* Defines the style for medium body text (e.g., address, descriptions) */
--gmp-mat-font-body-medium: normal 400 0.875em/1.25em var(--gmp-mat-font-family, 'Google Sans Text');

width: 360px;
margin-top: 100px;
border: none;
overflow-y: hidden;
}
/* [END maps_ui_kit_place_details_compact_style] */

.gm-style-iw button {
display: none !important;
}

.gm-style-iw-c {
padding: 0 !important;
margin: 0 !important;
}

.gm-style-iw-d {
padding: 0 !important;
margin: 0 !important; /* Sometimes margin can also contribute to unwanted space */
overflow: visible !important; /* If you don't want scrollbars, but be careful with content overflow */
}

.gm-style-iw-c * { /* Target all elements inside the infowindow content container */
padding: 0 !important;
margin: 0 !important;
}

@media (prefers-color-scheme: dark) {

.gm-style-iw.gm-style-iw-c,
.gm-style .gm-style-iw-d,
.gm-style .gm-style-iw-d::-webkit-scrollbar-track,
.gm-style .gm-style-iw-d::-webkit-scrollbar-track-piece,
.gm-style .gm-style-iw-c,
.gm-style .gm-style-iw-t::after,
.gm-style .gm-style-iw-tc::after {
background-color: #000 !important;
}
.gm-ui-hover-effect>span {
background-color: #fff !important;
}
}
/* [END maps_ui_kit_place_details_compact_style] */
/* [END maps_ui_kit_place_details_compact] */

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

This file was deleted.

This file was deleted.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 20 additions & 25 deletions dist/samples/ui-kit-place-details-compact/dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,28 @@
<head>
<title>Click on the map to view place details</title>
<meta charset="utf-8">
<script type="module" crossorigin src="./assets/index-C2o3PuNP.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-CEzUVn7G.css">
<script type="module" crossorigin src="./assets/index-PpKQ7CME.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index--nVeueu1.css">
</head>
<body>
<!--[START maps_ui_kit_place_details_compact_container]-->
<gmp-map center="47.75972, -122.25094" zoom="19" map-id="DEMO_MAP_ID">
<gmp-place-details-compact orientation = "horizontal" slot="control-block-start-inline-center">
<!--[START maps_ui_kit_place_details_compact_request]-->
<gmp-place-details-place-request place = "ChIJC8HakaIRkFQRiOgkgdHmqkk"></gmp-place-details-place-request>
<!--[END maps_ui_kit_place_details_compact_request]-->
<!--[START maps_ui_kit_place_details_compact_config]-->
<gmp-place-content-config>
<gmp-place-media lightbox-preferred></gmp-place-media>
<gmp-place-rating></gmp-place-rating>
<gmp-place-type></gmp-place-type>
<gmp-place-price></gmp-place-price>
<gmp-place-accessible-entrance-icon></gmp-place-accessible-entrance-icon>
<gmp-place-open-now-status></gmp-place-open-now-status>
<gmp-place-attribution light-scheme-color="gray" dark-scheme-color="white"></gmp-place-attribution>
</gmp-place-content-config>
<!--[END maps_ui_kit_place_details_compact_config]-->
</gmp-place-details-compact>
<gmp-advanced-marker></gmp-advanced-marker>
</gmp-map>
<!--[END maps_ui_kit_place_details_compact_container]-->
<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: "AIzaSyA6myHzS10YXdcazAFalmXvDkrYCp5cLc8", v: "weekly"});</script>
<!--[START maps_ui_kit_place_details_compact_container]-->
<div id = "map-container">
<gmp-place-details-compact orientation="horizontal">
<!--[START maps_ui_kit_place_details_compact_request]-->
<gmp-place-details-place-request place = ChIJn97JQNpC1moRIcJsVMEQLI8></gmp-place-details-place-request>
<!--[END maps_ui_kit_place_details_compact_request]-->
<!--[START maps_ui_kit_place_details_compact_config]-->
<gmp-place-all-content></gmp-place-all-content>
<!--[END maps_ui_kit_place_details_compact_config]-->
</gmp-place-details-compact>
</div>
<!--[END maps_ui_kit_place_details_compact_container]-->
<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: "AIzaSyA6myHzS10YXdcazAFalmXvDkrYCp5cLc8",
v: "weekly"
});
</script>
</body>
</html>
<!--[END maps_ui_kit_place_details_compact] -->
Loading