2012-02-22 49 views
2

在我的網站上,我的地圖正在被切斷。但我不知道爲什麼。我仍然可以互動,但僅限於有限的意義。任何人都可以看一看,並給我一些見解?谷歌地圖API地圖,但切斷了

這裏是爲了得到你需要點擊「顯示結果」,然後單擊醫院的名字,它應該在頁面的頂部創建了一堆東西地圖網站 http://people.rit.edu/~ctn9382/536/assignment3/

+0

也許扔在一個'位置:相對;'在地圖容器的CSS?奇怪的是,如果我在Chrome中點擊CTRL-SHIFT-J轉到開發者工具,突然你的地圖移動到DIV中非常合適!編輯:實際上,甚至調整窗口的大小,也是我應該預料到的。也許嘗試強制重繪,或者什麼 – Daan 2012-02-22 23:07:56

回答

1

它看起來像我的地圖小程序沒有被「告知」填充容器。沒有代碼示例,我無法提供具體的更改,但我建議您查看地圖小程序的CSS樣式。您可能需要將寬度和高度設置爲特定大小(容器的寬度和高度),或者可以像告訴它佔用100%的可用空間那樣簡單。

祝你好運。

+0

謝謝我看着它。奇怪的是,如果我檢查任何元素,它會恢復正常,沒有錯,即使我關閉螢火蟲 – SalmonMode 2012-02-22 23:49:34

14

每當用戶切換到位置選項卡,強制resize事件將烘焙:

google.maps.event.trigger(map, 'resize'); 

既然你初始化而DIV是隱藏地圖,它無法弄清楚如何大,使自己,所以你需要強制它再次檢查大小。這也正是Daan注意到當你打開開發者控制檯時修復自身的原因,因爲調整了調整事件大小的窗口。

+0

我不能得到它的工作。你介意闡述嗎?它說地圖沒有定義 – SalmonMode 2012-02-23 03:31:32

+0

「地圖」是代碼片段中地圖對象的變量名稱。這聽起來像是你在嘗試觸發調整大小時可能已經丟失了地圖對象的範圍。我不完全確定沒有看到代碼的詳細信息,但查看範圍問題或使地圖對象成爲全局的,它應該可以工作。 – 2012-02-23 19:40:12

+0

很好的回答!謝謝您的幫助。完美工作。應該被接受。 – BlackHatSamurai 2013-12-11 01:19:38

0

有同樣的問題,得到它修復,但感謝在這裏論壇上的一些有幫助的人。

Solved my issue.

2

我得到它的工作是這樣的:

var map; 
function initialize() { 
var pos = new google.maps.LatLng(<%[email protected]%>, <%[email protected]%>); 
var mapOptions = { 
    zoom: 15, 
    center: pos, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
}; 
map = new google.maps.Map(document.getElementById('listing_map'), 
    mapOptions); 
var marker = new google.maps.Marker({ 
    position: pos, 
    map: map 
}); 
google.maps.event.trigger(map, 'resize'); 
} 

現在,當你切換標籤,使用的setTimeout拖延地圖初始化:

<a href="" onclick="setTimeout(function(){ initialize() }, 100);"> 
+0

Thnx!爲我工作! – kstratis 2014-05-06 21:18:46