2010-08-18 3 views
9

Я обновляю старый код, который использовал API v2 для Карт Google. На domready было бы использовать такое заявлениеGoogle Maps API v3 BrowserIsCompatible

if(google.maps.BrowserIsCompatible()){ 
// load the map 
} 

Теперь, когда я загрузке API v3 Google Maps, я получаю сообщение об ошибке

google.maps.BrowserIsCompatible не является функцией

Я прочитал тонну потоков в группах api Google v3, но не нашел четкого ответа на то, что называется новой функцией или как ссылаться на нее.

ответ

6

GBrowserIsCompatibile не попал в версию три API, поэтому вам нужно будет write this code yourself.

Here is a list из браузеров, поддерживаемых v3.

+0

спасибо cannonade! кажется странным, что они потеряют это, но я уверен, что у них была веская причина. – julio

+0

@julio Да, я не уверен в этом. Они удалили несколько вещей, которые не были основными функциями карт из v3 (например, материал обложки запроса Http). У меня есть друг в Google, я спрошу ее в следующий раз, когда увижу ее :). – RedBlueThing

+0

список не совсем верный - ** google api v3, похоже, работает в IE 6.0. ** – TMS

0

В V3 as of Google's V2 to V3 migration doc этого эквивалента нет.

Вместо этого эффективный способ достижения этого теста является:

if (window.JSON) { 
    // load google maps api async (so google.maps object is available for further use) 
} 

Это потому, что вся browsers that Google Maps API V3 support доли того же особенность: они первые версии (по их поставщику), что поддерживает JSON изначально. Смотрите это screenshot taken from caniuse.com:

enter image description here

Исключения:

Firefox 3.0 и BlackBerry Browser 6 не поддерживают JSON, но поддерживаются Google Maps API. Таким образом, правило выше исключает другое, что является приемлемым недостатком для такого простого теста (по сравнению с пользователем агента обнюхивать-на основе кода)

Примечание:

этот тест не распространяется на «Google .maps, но при загрузке скрипта. Это предотвращает случаи (например, IE6), когда сценарий успешно загружен, но объект google.maps неприменим.