8
中沒有或不再可用的對象」我有一個XML,它通過XSLT轉換爲HTML。 XML能夠包含JavaScript,並將其正確地轉換爲HTML,就像我在其他許多頁面中一樣。它不適用於GoogleMaps,我懷疑我的JavaScript有問題。InvalidStateError:「嘗試使用基本Google Map教程示例
生成的HTML的相關部分如下所示。
發生了什麼事在HTML /的腳本:
- 的API從googleapis.com
- 創建帶有ID map_canvas提供一個DIV加載。
- 函數start()被定義,它通過
<body onload="start();">
開始。 - 在此函數中,創建變量map_canvas並將 引用傳遞給名爲map_canvas的div對象。
- 要控制,那這一步工作,我給新的背景色 紅色。
- 它的工作原理。
- 接下來,我想創建變量var_options併爲center,zoom和mapTypeId設置初始值 值。
- 要控制,那這一步工作,我給新的背景 顏色藍色。
- 這不起作用,它保持紅色。
- 因此,該指令未執行。
- 因此,我檢查我是否可以訪問對象
google.maps
。 - 如果是這樣,我給新的背景顏色綠色div。
- 這有效,所以我可以訪問此對象。
- 交叉檢查:如果我註釋掉加載API的語句, 顏色不會改變。
對我來說,這看起來像以下是某處的錯誤。
var map_options = {
center: new google.maps.LatLng(44.54, -78.54),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
但幾個小時後,我仍然無法弄清楚它是什麼。
<html>
<head>
...
<script src="http://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript">
</script>
<script type="text/javascript">
function start()
{
var map_canvas = document.getElementById('map_canvas');
// If the element can be located, we make it green. Checked.
// If we give the function another name than start, it won't be executed. Checked.
map_canvas.style.backgroundColor = 'green';
if(typeof google.maps != 'undefined') {
// If the google.maps object exists, we make the canvas red. Checked.
// If the API was not loaded from googleapis (commented out), it will stay green.
map_canvas.style.backgroundColor = 'red';
}
// So why does the following not work?
var map_options = {
center: new google.maps.LatLng(44.54, -78.54),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
// Not arriving here:
map_canvas.style.backgroundColor = 'blue';
// Before going on, I want to solve above problem, so this is commented out.
// var map = new google.maps.Map(map_canvas, map_options);
// map_canvas.style.backgroundColor = 'black';
}
</script>
</head>
<body onload="start();">
...
<div style="width: 400px; height: 224px;" id="map_canvas"></div>
...
</body>
</html>
你在控制檯遇到什麼錯誤? – Bergi
該代碼給了我一個錯誤,即傳感器必須是真或假。我測試了一下,並將googleapis url更改爲'
我發現這個錯誤的最常見的原因是根本無效的IMG SRC。
來源
2013-11-03 01:28:20
這是我的情況。 +1。 –
我的錯誤是類似的東西(這就是爲什麼我發現這個職位),但只在Internet Explorer(版本11):
,這是因爲我使用SVG圖像作爲標記引起的:
切換到png圖像而不是svg解決了我的問題!
來源
2014-10-28 13:55:40 Wietse
嘗試將高度和寬度添加到SVG。 查看更多信息:http://stackoverflow.com/questions/23923607/custom-markers-in-google-maps-not-showing-up-in-firefox#answer-24280941 – Promo
謝謝@Promo,那正是什麼我需要。如果你問我,你的評論可能是一個單獨的答案。 – marcvangend
@Promo感謝您的鏈接,它解決了我的問題 – user301441