Google Maps больше не работает на волосок - PullRequest
2 голосов
/ 19 марта 2009

2 дня назад я работал над проектом, который включает в себя карты Google. Веб-сайт показал карты на страницах просто отлично.

Теперь я возвращаюсь на свою рабочую станцию, ничего не изменилось, за исключением того, что карты Google больше не будут отображаться. Код идентичен, никто не трогал мою машину с тех пор, как я ушел, я проверил HTML, все идеально, и все же это не работает ... Консоль Javascript не выдает ошибок, а код идентичен резервной копии, которую я делаю каждый раз, когда я называю это днем. 2 дня назад это работало, сегодня это не так.

Я даже скопировал исходный код, поместил его в html-файл и попробовал, но результат тот же. Я в недоумении здесь. Это мой код:

<script type="text/javascript">
      //<![CDATA[
      var map;
      var directionsPanel;
      var directions;

      function initialize() {
        if (GBrowserIsCompatible()) {
         map = new GMap2(document.getElementById("map"));
         map.addControl(new GLargeMapControl());
         map.addControl(new GScaleControl());
         map.addControl(new GMapTypeControl());

         //the route description
         directionsPanel = document.getElementById("route");
         directions = new GDirections(map, directionsPanel);
         directions.load({COMMAND});
        }
      }
      //]]>
    </script>

{COMMAND} - это то, что шаблон PHP будет анализировать, я проверил его, формат на 100% правильный и, как я уже сказал, код теперь идентичен резервной копии, и если он работал тогда, он должен работать сейчас.

Google обновил свой API в одночасье и устарела ли функция, которую я здесь использую? Я не знаю, что здесь происходит ...

Ответы [ 3 ]

1 голос
/ 19 марта 2009

Fiddler - отличный прокси-инструмент HTTP, и он бесплатный. Это должно помочь вам определить проблему.

http://www.fiddler2.com/fiddler2/

Возможно, вы захотите заблокировать свой код для использования определенной версии API карт Google (например, http://maps.google.com/maps?file=api&v=2.106&....)), чтобы избежать любых проблем, когда обновления API карт могут нарушить работу вашего кода, если он критически важен.

1 голос
/ 26 марта 2009

Хорошо, вы не опубликовали весь свой код, поэтому мне пришлось сделать несколько предположений.

Я думаю, что при загрузке страницы вы видите либо серое поле с логотипом Google, элементом управления масштабированием и селектором типа карты, либо в основном белую страницу с логотипом Google, обрезанным вверху.

Если вы видите в основном белую страницу с обрезанным логотипом Google, убедитесь, что вы указали размер DIV, который должен содержать карту.

Если вы видите серую рамку, содержащую только элементы управления (что я и предполагаю), вы должны указать центральную точку при создании карты. Вот так:

if (GBrowserIsCompatible()) {
     map = new GMap2(document.getElementById("map"));
     map.setCenter(new GLatLng(LAT,LONG), ZOOM);
     ...

Я думаю, что это решит вашу проблему. Я не знаю, как это будет работать одну минуту, а не следующую, что-то ДОЛЖНО измениться, а API - нет (к счастью). Эта ошибка ничего не помещает в консоль ошибок Javascript. Надеюсь, это поможет !!!

1 голос
/ 19 марта 2009

Я бы предложил использовать какой-нибудь прокси-сервер HTTP, например Charles (стоит денег, бесплатная пробная версия). Я верю, что может быть подобное приложение для Firefox, но я люблю Чарльза. Он показывает каждый запрос, который делает ваш браузер, и ответ от сервера. Затем вы можете просмотреть его и посмотреть, выглядит ли что-то странным или смешным, может быть, вы приблизитесь к решению проблемы.

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