0
由於某些原因,通過JavaScript API的Google地圖在Internet Explorer中無法正確加載。Google Maps API和Internet Explorer 8/9
它顯示在Google Chrome & Firefox絕對好。
<!DOCTYPE html>
<html>
<head>
<title>Google Maps</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<link href="https://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<style>
#map_canvas {font: 12px Arial, Helvetica, sans-serif; color:#3B3B3B; height:400px; width: 700px;}
.text {text-align:center; color:#3B3B3B;}
</style>
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
var geocoder;
var map;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 15,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function codeAddress() {
var address = '50 Bond Street, London';
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
} else {
//Not Found
}
});
}
</script>
<script type="text/javascript">
initialize();
codeAddress();
</script>
</head>
<body onload="initialize(); codeAddress();">
<div id="map_canvas"></div>
</body>
</html>
奇怪的是,如果我在Body上放置onmouseover並調用函數,它似乎又開始工作了?但它顯然每次都重新加載地圖!
嗨馬克西姆,這回來了一個錯誤。我認爲這是因爲它不能追加標籤,直到主體加載完成。它返回一個NULL錯誤。 – techco1
我認爲值得注意的是,這是從另一個具有iFrame的頁面調用的。我認爲這可能是背後的問題。 – techco1
事實上,如果你在頁面加載後發生的mouseover事件上綁定你的函數,這一切都會讓我認爲腳本沒有在IE onload事件中正確加載。加載API異步應該解決這個問題,因爲你可以提供一個回調方法來初始化你的組件。我正在使用此方法在我的項目中加載地圖[Autoload](http://gmaps-samples-v3.googlecode.com/svn/trunk/commonloader/autoload.html) – boulaycote