7

嘿,我有一個問題/錯誤,當試圖在頁面上同時有一個V3和V2谷歌地圖。v2和v3 Google Maps API可以在同一頁面上共存嗎?

我們的應用程序的核心使用API​​的V2和增加了一些新功能,我們決定自V2不贊成使用API​​的V3。所以我在應用程序的另一個「選項卡」中動態加載a3的v3版本。

的問題是,如果你點擊V3地圖,然後點擊V2映射V2地圖開始圍着一圈鼠標光標,如果你已經點擊開始拖動,但從來沒有釋放鼠標按鈕。基本上蟲子,直到你重新載入頁面

這裏有一個例子,對如何複製簡單的指令 http://jsbin.com/googlemapv3v2/1

奇怪的是,如果你點擊/玩的V2地圖第一,然後單擊/玩與v3地圖它都很好地工作。

所以我試着用V2地圖上燒製定義點擊/鼠標按下事件一旦V3 API載入「欺騙」它看到http://jsbin.com/googlemapv3v2/2

但沒有運氣,任何人有什麼想法?

編輯:應該注意,它似乎只發生在鉻,火狐,Safari瀏覽器還沒有試過的歌劇。

+0

如果您將地圖向右對齊,則看起來您正在拖動一張適合兩個div的地圖。 – 2010-07-19 23:27:57

回答

2

我不認爲這兩個API是指在同一頁上共存。我嘗試了一個非常基本的例子,這個例子碰巧遇到了和你一樣的問題。在Chrome 5.0和Firefox 3.6.6(Mac版)中進行測試:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
    <title>Google Maps v2 and v3 on same page</title> 
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false" 
      type="text/javascript"></script> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
      type="text/javascript"></script> 
</head> 
<body> 
    <div id="map_v3" style="width: 500px; height: 400px;"></div> 
    <div id="map_v2" style="width: 500px; height: 400px; margin-top: 50px;"></div> 

    <script type="text/javascript"> 

    var map3 = new google.maps.Map(document.getElementById('map_v3'), { 
     zoom: 6, 
     center: new google.maps.LatLng(-41.00, 174.00), 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }); 

    var map2 = new GMap2(document.getElementById('map_v2')); 
    map2.addControl(new GLargeMapControl3D()); 
    map2.setCenter(new GLatLng(-41.00, 174.00), 6); 
    </script> 

</body> 
</html> 
+0

奇怪的是,如果您先與v2地圖交互,它們會共存。 – Okeydoke 2010-07-19 03:06:09

+0

是的,注意到:) – 2010-07-19 03:20:47

+4

我是悉尼谷歌開發者大會,並問了一個Google員工這個問題。我可以確認它們不是設計爲存在於同一頁面上。 – RedBlueThing 2010-07-19 06:14:15

相關問題