ページに表示する Google マップがあります。IE 8 以外の他のブラウザでは問題なく動作しますが、IE の上記のバージョンについては不明です。
問題は、ほとんどのユーザーが IE を使用していて、なぜこれが IE で動作しないのかを解決したいということです。
$table = "";
while ( $row = mysql_fetch_array($result)) {
$table .= "<table border = \"1\" width=\"800px\">
<tr><td style = \"background:#EEEEEE;\"><b>Arka</b></td> <td align=\"left\" width= \"220px\" style = \"background:#EEEEEE;\">{$row['arka']}</td> <td width = \"480px\" rowspan = \"4\"> <div style = \"width:480px; height:230px;\" id= \"div-{$row['id']}\">Map here</div></td> </tr>
<tr><td><b>Orari</b></td> <td align=\"left\">{$row['orari']}</td></tr>
<tr><td><b>Pauza</b> </td> <td align=\"left\">{$row['pauza']}</td></tr>
<tr><td><b>Shtune</b></td> <td align=\"left\">{$row['shtune']}</td></tr>
</table> <br>";
echo '<script type="text/javascript" language="javascript">loadMap("'.$row['adresa'].'",'.$row['id'].');</script>';
}
echo $table;
?>
最後に、マップをロードする関数は次のとおりです。
function loadMap(street,div_id) {
$.ajax({
type: 'GET',
url: "http://maps.googleapis.com/maps/api/geocode/json?address="+street+",Prishtina&sensor=true",
dataType: 'json',
success: function (data) {
$.each(data, function() {
$.each(this, function(key, value) {
switch (key) {
case "lat":
alert(value) // access to this node works fine
break;
case "lng":
alert(value) // access to this node works fine
break;
default:
//window.alert(divid);
var myCenter=new
google.maps.LatLng(value.geometry.location.lat,value.geometry.location.lng);
var mapProp = {
center: myCenter,
zoom:17,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new
google.maps.Map(document.getElementById("div-" +
div_id),mapProp);
var marker = new google.maps.Marker({
position: myCenter,
title:'Click to zoom',
//icon: 'img/logo3.png'
});
marker.setMap(map);
// Zoom to 9 when clicking on marker
google.maps.event.addListener(marker,'click',function() {
map.setZoom(9);
map.setCenter(marker.getPosition());
});
break;
}
});
});
}
});