загружать Google Maps API-скрипты, когда это необходимо?jquery.getScript ()? - PullRequest
4 голосов
/ 01 апреля 2011

Эй, ребята, Я использую карту Google с полным API карты на моем сайте. Карта видна и используется только после нажатия на конкретную ссылку (например, Показать карту). Поскольку этот API-интерфейс карты является довольно большим JS-файлом, я хочу загружать API-интерфейс только тогда, когда он необходим, а не при загрузке страницы, как я делаю это прямо сейчас.

сейчас у меня есть это в моем

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAnf9W..." type="text/javascript"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

Я использую jQuery, и у меня есть отдельный файл script.js, в котором я храню весь свой javascript.

Карта, которую я показываю, только когда нажимаю на следующий элемент:

$('#googleMap').live('click', function(e) {

Можно ли использовать jquery getScript () для загрузки вышеуказанных сценариев только при нажатии на эту ссылку? Или хотя бы загрузить его "onLoad ()", а не "onDomReady"?

1 Ответ

10 голосов
/ 01 апреля 2011

Прежде всего, вам не нужно включать оба этих скрипта.Вам нужно только:

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

Во-вторых, вы можете использовать google loader (см. Раздел «Динамическая загрузка») для запуска карт по запросу пользователя, например:1006 *

$("#foo").click(function() {
    google.load("maps", "3", {other_params:'sensor=false', callback: function(){
        alert('maps API loaded!');
        var map; 
        // do stuff with your map
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...