Ошибка JavaScript API Карт Google при вызове GBrowserIsCompatible () - PullRequest
1 голос
/ 23 февраля 2011

Я получаю сообщение об ошибке в следующей строке:

 if (GBrowserIsCompatible()) {

это мой код до сих пор не работает

<script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=<?php echo $google_api['VALUE'];?>" type="text/javascript"></script>

<script type="text/javascript">
var map = null;
var geocoder = null;

function initialize(address) {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(37.4419, -122.1419), 13);
        geocoder = new GClientGeocoder();

        /* Start */

        if (geocoder) {
            geocoder.getLatLng(
                address,
                function (point) {
                    if (!point) {
                        alert(address + " not found");
                    } else {
                        map.setCenter(point, 13);
                        var marker = new GMarker(point);
                        map.addOverlay(marker);
                        marker.openInfoWindowHtml(address);
                    }
                }
            );
        }

        /* End */
    }
}
</script>

Ответы [ 4 ]

2 голосов
/ 29 апреля 2012

У меня была такая же проблема с Internet Explorer, если страницу просматривали по протоколу https (вместо http). Вы используете его через https или http? В любом случае с https будут появляться предупреждения, если вы не заплатите Google около 10 000 долларов.

2 голосов
/ 23 февраля 2011

Загружали ли вы API Карт Google с вашим собственным ключом API ?

<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ENTER_API_KEY_HERE'></script>

Источник: http://code.google.com/p/jmaps/issues/detail?id=12


Обновление

Посетите страницу устранения неполадок для IE .

Возможно, вы проверяете это слишком рано.Попробуйте что-то вроде этого:

var iterations = 0;
function check_compat() {
    if (iterations === 75) {
        alert('Failed to load Google Maps API. Clear your browser cache, open Google Maps then try again.');
        return;
    }
    if (typeof GBrowserIsCompatible === 'undefined') {
        // It isn't loaded, schedule the next check.
        setTimeout(check_compat, 200);
        iterations++;
    } else {
        if (GBrowserIsCompatible()) {
            mapReadyFn();
        } else {
            alert('Sorry, your browser is not supported.');
        }
    }
}

После этого просто замените эту строку:

if (GBrowserIsCompatible()) {

на:

function mapReadyFn() {

Если в течение 15 секунд произойдет сбой,он перестает пытаться, и вы получаете ошибку.

0 голосов
/ 06 апреля 2017

Ответ @Andrew S теперь кажется лучшим, поскольку v3 - единственная доступная версия API.Нет никакого метода GBrowserIsCompatible, и нет никакой замены.Я предполагаю, что было бы лучше проверить некоторые веб-API (например, геолокацию), которые вы намереваетесь использовать, прежде чем вызывать API-интерфейсы карт.

Google Maps от v2 до v3: удаление устаревшего кода

0 голосов
/ 22 июня 2013

У меня тоже была такая же проблема.Когда я проверил с примером программы на http://universimmedia.pagesperso -orange.fr / geo / loc.htm Это работало нормально;но когда я изменил значение ключа API на мое, я получил сообщение об ошибке на линии Gbrowser. После проверки с помощью API моей учетной записи Google. я понял, что есть две версии API карт Google 2 и 3, и я включил только 3и ссылался на карту в сценарии Java. Когда я включил версию API 2, ошибка исправлена.Попробуйте и оставьте свой отзыв.

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