Получение карт Google Maps для загрузки в проект Meteor - PullRequest
0 голосов
/ 05 мая 2020

У меня проблема с отображением карты в моем метеорном проекте. Я использую dburles в качестве своей библиотеки googleapi. Я выполнил инструкции в руководстве, и мой GoogleMaps.load () возвращает undefined, что, по моему мнению, является основной проблемой.


    Meteor.startup ->
        GoogleMaps.load()
        console.log GoogleMaps.load()
        return

Мой нефрит выглядит так



    div#search-wrapper
            h2 Search for a ATM
            div#search-input.input-group
                input(for="search" type="text" placeholder="City, State, Zip, ect")
                div.input-group-append
                    button(type="submit" class="btn btn-info " id="search-button")
                        i.fas.fa-search
            button(type="submit" class="btn btn-info" id="find-nearMe") Find Near Me
        +map

    template(name="map")
        div.map-container
            googleMap(name="map" options=mapOptions)

Я знаю, что coffeescript и jade не используются широко, поэтому ответы в Javascript также будут приемлемы.

1 Ответ

1 голос
/ 05 мая 2020

в этой библиотеке не было последних обновлений. Это происходит из того времени, когда NPM был взломом в Meteor.

Вы можете попробовать изменить этот код ES6 по своему вкусу (с вашим собственным ключом Google). Вызовите эту функцию при загрузке экрана, где вам действительно нужна карта. Вы можете вызывать его несколько раз с нескольких страниц, так как функция проверяет, есть ли карты или нет. Вы не хотите, чтобы это было при запуске, если, возможно, вы не отобразите карту на своем первом экране, но опять же, вы должны вызвать функцию на уровне компонента / представления.

const loadGoogleMaps = () => {
  if (!window.google?.maps) {
    const script = document.createElement('script')
    script.src = 'https://maps.googleapis.com/maps/api/js?key=xxxxxx&libraries=places'
    script.defer = true
    document.head.appendChild(script)
  }
}

export { loadGoogleMaps }

Другой вариант был бы действительно использовать официальную NPM (https://www.npmjs.com/package/@googlemaps / google-maps -services- js).

...