2010-08-18 60 views
9

Tôi đang cập nhật một số mã cũ hơn đã sử dụng API v2 cho Google Maps. Trên domready, nó sẽ sử dụng một tuyên bố nhưAPI Google Maps v3 BrowserIsCompatible

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

Bây giờ tôi đang tải Google Maps API v3, tôi nhận được một lỗi

google.maps.BrowserIsCompatible không phải là một chức năng

Tôi đã đọc rất nhiều chủ đề trong nhóm v3 api của Google, nhưng chưa tìm thấy câu trả lời rõ ràng về chức năng mới được gọi hoặc cách tham chiếu nó.

Trả lời

6

GBrowserIsCompatibile không biến nó thành API phiên bản ba, vì vậy bạn sẽ phải write this code yourself.

Here is a list của các trình duyệt được v3 hỗ trợ.

+0

cảm ơn pháo! có vẻ kỳ quặc họ sẽ thả cái này nhưng tôi chắc rằng họ có lý do chính đáng. – julio

+0

@julio Yeah Tôi không chắc chắn về điều đó. Họ đã loại bỏ một vài thứ không phải là chức năng bản đồ lõi từ v3 (như công cụ yêu cầu trình bao bọc Http). Tôi có một người bạn ở Google, tôi sẽ hỏi cô ấy lần sau khi tôi gặp cô ấy :). – RedBlueThing

+0

danh sách không chính xác - ** google api v3 dường như hoạt động trong IE 6.0. ** – TMS

0

Không có phương pháp tương đương với phương pháp này trong V3 as of Google's V2 to V3 migration doc.

Thay vào đó, một cách hiệu quả để đạt được thử nghiệm này là:

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

Đó là bởi vì tất cả các cổ phiếu browsers that Google Maps API V3 support cùng đặc thù: họ là những phiên bản đầu tiên (do nhà cung cấp của họ) mà hỗ trợ JSON natively. Xem này screenshot taken from caniuse.com:

enter image description here

Exceptions:

Firefox 3.0 và Trình duyệt BlackBerry 6 không hỗ trợ JSON nhưng được hỗ trợ bởi Google Maps API. Vì vậy, các quy tắc trên sẽ loại trừ cả hai, đó là một nhược điểm chấp nhận được cho một thử nghiệm đơn giản như vậy (so với một dựa trên user-agent-sniffing code)

Chú ý:

xét nghiệm này không áp dụng đối với 'google đối tượng .maps 'nhưng tại thời gian tải tập lệnh. Điều này ngăn chặn các trường hợp (ví dụ: IE6) khi tập lệnh được tải thành công nhưng đối tượng 'google.maps' không sử dụng được.

Các vấn đề liên quan