Я пытаюсь создать пользовательский элемент с lit-html, который использует API Карт Google.Как можно заставить его работать вместе?Вот что у меня есть:
map-element.css:
#map {
height: 400px; /* The height is 400 pixels */
width: 100%; /* The width is the width of the web page */
background-color: grey;
}
map-element.js:
import {
LitElement,
html
} from '@polymer/lit-element';
class MapElement extends LitElement {
render() {
return html `
<link rel="stylesheet" href="map-element.css">
<div id="map"></div>
<script>
function initMap() {
// The location of Uluru
var uluru = {lat: -25.344, lng: 131.036};
// The map, centered at Uluru
var map = new google.maps.Map(
this.shadowRoot.querySelector('#map'), {zoom: 14, center: uluru});
// The marker, positioned at Uluru
var marker = new google.maps.Marker({position: uluru, map: map});
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=MYAPIKEY&callback=initmap">
</script>
`;
}
}
customElements.define('map-element', MapElement);
Вывод - это просто заполнитель для div с идентификатором карты, и я не получаю никаких ошибок.
Вот ссылка на код, который я пытаюсь использовать в своем элементе: https://developers.google.com/maps/documentation/javascript/adding-a-google-map