获取 Google 地图以加载到流星项目中

Getting Google Maps to load in meteor project

我无法让我的流星项目显示地图。我使用 dburles 作为我的 googleapi 库。我已按照教程中的说明进行操作,我的 GoogleMaps.load() returns 未定义,我认为这是根本问题。


    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 中的答案也可以接受。

该图书馆最近没有更新。它来自于 NPM 是 Meteor 中的黑客的时候。

您可以尝试根据自己的喜好修改此 ES6 代码(使用您自己的 google 密钥)。在实际需要地图的屏幕加载时调用此函数。您可以从多个页面多次调用它,因为该函数会检查地图是否存在。你不想在 Startup 中有这个,除非你可能在你的第一个屏幕上显示地图,但你又会在 component/view 级别调用该函数。

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)。