如何仅在加载 Google Maps API 时才加载 jquery 插件?

发布于 2024-12-18 05:17:35 字数 992 浏览 0 评论 0原文

为了方便使用 Google Maps API,我正在开发一个 jquery 插件。它有一些默认值。如下:

默认 jquery 插件(咖啡脚本中的代码)

(($, window, document) ->

    # Defaults
    defaults =
        zoom: 16
        disableDefaultUI: true
        zoomControl: true
        zoomControlOptions:
            style: google.maps.ZoomControlStyle.LARGE 
            position: google.maps.ControlPosition.RIGHT_CENTER
        mapTypeControl: true
        mapTypeControlOptions: 
            style: google.maps.MapTypeControlStyle.DROPDOWN_MENU 
            position: google.maps.ControlPosition.TOP_LEFT
        mapTypeId: google.maps.MapTypeId.ROADMAP

...

注意选项 zoomControlOptions

我的问题是每个页面的 JS 文件都是唯一的,脚本:

位于联系页面(这是我使用 API 的地方)。

该插件依赖于谷歌地图API来工作,如何仅在联系页面上加载该插件?更好的是,如何仅在 Google Maps API 可用时加载插件

谢谢大家的帮助!

To facilitate the work with the Google Maps API, I am developing a jquery plugin. It have some defaults. follows:

Defaults jquery plugin (Code in coffee-script)

(($, window, document) ->

    # Defaults
    defaults =
        zoom: 16
        disableDefaultUI: true
        zoomControl: true
        zoomControlOptions:
            style: google.maps.ZoomControlStyle.LARGE 
            position: google.maps.ControlPosition.RIGHT_CENTER
        mapTypeControl: true
        mapTypeControlOptions: 
            style: google.maps.MapTypeControlStyle.DROPDOWN_MENU 
            position: google.maps.ControlPosition.TOP_LEFT
        mapTypeId: google.maps.MapTypeId.ROADMAP

...

Notice the options zoomControlOptions.

My problem is that the JS file is unique for every page, the script:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

is on the contact page (which is where I use the API).

This plugin depends on the google maps API to work, how to load the plugin only on the contact page? Better yet, how to load the plugin only if the Google Maps API is available?

Thank you all for your help!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鸠魁 2024-12-25 05:17:35

在包装器的顶部写下以下内容:

return if not google?.maps?

At the top of your wrapper, write this:

return if not google?.maps?
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文