почему "Google не определен", когда я загружаю Google JS API - PullRequest
3 голосов
/ 25 марта 2010

я следую API шаг за шагом, но не могу загрузить успешно ..

это мой код:

<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
</head>
<body >
<script type="text/javascript" src="http://www.google.com/jsapi?autoload=%7B%22modules%22%3A%5B%7B%22name%22%3A%22gdata%22%2C%22version%22%3A%222.x%22%2C%5B%22callback%22%3A%22onLoad%22%2C%22packages%22%3A%5B%22maps%22%5D%5D%7D%5D%7D"></script>
<script type="text/javascript">
var service = new google.gdata.maps.MapsService('docs-example');
</script>
</body>
</html>

ошибка: гугл не определен

почему ??


upedted

Я изменяю свой код, и он работает, но он запускает errorHandler, а затем выдает предупреждение «error !!!»:

<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
</head>
<body >
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">

  // Load the latest version of the Google Data JavaScript Client
  google.load('gdata', '2.x', {packages: ['maps']});

  function onGoogleDataLoad() {
    // Put your code here
  }

  // Call function once the client has loaded
  google.setOnLoadCallback(onGoogleDataLoad);

</script>
<script type="text/javascript">
var service = new google.gdata.maps.MapsService('docs-example');
listMaps()
function listMaps() {
  var list = document.createElement('ul');
  var mapFeedUrl = 'http://maps.google.com/maps/feeds/maps/default/owned';

  service.getMapFeed(mapFeedUrl, function(feedRoot) {
    var feed = feedRoot.feed;
    var entries = feed.getEntries();
    for (var i = 0; i < entries.length; i++) {
      var entry = entries[i];
      var mapTitle = entry.getTitle().getText();
      var listItem = document.createElement('li');
      var listText = document.createTextNode(mapTitle);
      listItem.appendChild(listText);
      list.appendChild(listItem);
    }
    document.body.appendChild(list);
  }, errorHandler)
}
function errorHandler(){
    alert('error!!!')
    }
</script>
</body>
</html>

почему?

спасибо

Ответы [ 2 ]

1 голос
/ 25 марта 2010

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

function onGoogleDataLoad() {
  var service = new google.gdata.maps.MapsService('docs-example');
  listMaps()
}
0 голосов
/ 25 марта 2010

Если вы проверите URL-адрес JS в браузере, вы получите следующий результат:

var error = new Error("Invalid autoload.");
error.toString = function() { return this.message; }
throw error;

Это значит, что с вашим URL что-то не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...