Можете ли вы загрузить Google Maps API v3 через загрузчик Google AJAX API - PullRequest
7 голосов
/ 14 марта 2011

Некоторое время назад я использовал обычный метод загрузки API Карт Google, например:

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

Позже я переключился на API Google AJAX для загрузки API Карт Google. Это было связано с тем, что нескольким «виджетам» на моем веб-сайте требовался загрузчик Google Ajax API, поэтому я решил быть последовательным и использовал API AJAX для загрузки Google Maps:

<script type="text/javascript" src="http://www.google.com/jsapi?key=abcdef"></script>
<script type="text/javascript">
  google.load("maps", "2", {"other_params": "sensor=true"});
</script>

Теперь, когда я наконец решил использовать API Карт Google v3, эта страница не отображает API v3 в списке доступных версий. Ни один из примеров документации API v3 также не демонстрирует использование API AJAX. Можно ли (и поддерживается) загрузить Google Maps API v3 через загрузчик AJAX API?

Ответы [ 2 ]

24 голосов
/ 14 марта 2011

Недокументировано, но работает.

google.load("maps", "3", {other_params:'key=YOUR_API_KEY', callback: function(){
  var map; // initialize your map in here
}});

[EDIT] Документация теперь требует использования ключа API, который передается загрузчику в качестве параметра «ключ». Я удалил «sensor = false» в качестве параметра, поскольку теперь он явно не требуется и выдает предупреждение, когда оно предоставляется.

0 голосов
/ 21 мая 2012

этот пример отлично работает.

//Set google Api
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
//Initialize General
<script type="text/javascript">
    //Add Jquery, if you need
    google.load("jquery", "1.7.1");
    //Initialize Map, with option sensor=false
    google.load("maps", 3, {other_params:"key=YOUR_API_KEY"});
    //Initialize Map's
    google.setOnLoadCallback(function() {
            var options = {
                  zoom: 10,
                  center: new google.maps.LatLng(-34.616507,-58.409463),
                  mapTypeId: google.maps.MapTypeId.ROADMAP
            }
            map = new google.maps.Map(document.getElementById('map_canvas'), options);
    });


</script>
...