請問地圖能在火狐顯示,但不能在ie7顯示的原因?

15 views
Skip to first unread message

Todd White

unread,
Apr 1, 2010, 9:17:16 AM4/1/10
to Google API 技術論壇
我的網站使用Google maps,
這幾天發現maps在firefox下正常顯示,
在ie7上就無法顯示,還會出現網頁錯誤。
一直找不到問題。
這一頁是讓會員在地圖上標注地點的,
并且在兩個地方顯示,
一是全頁面顯示,另一是跳出浮框顯示(代碼中的dialog區域),
但是在ie7之下,兩邊都會出問題,
我把這一頁檔案貼出來,希望高手提點一下:

<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAATZ8-
wHJNWEVMUvTJP8rWwhSVNKllH6gNmUvA9vR5xtSK2nB2gRQrO7U16qZT-
VwZBG6Y2uIuAcvIiw" type="text/javascript"></script>


<!--{if $in_dialog}-->
<script type="text/javascript">
var map_id = 'mapmark_mymap_in_dialog';
</script>
<div style="margin-bottom:5px;text-align:center;"><a
href="javascript:atmark();"><b style="color:#CC0000">我要标注</b></a></
div>
<div id="mapmark_mymap_in_dialog"></div>
<div id="body"></div>
<!--{else}-->
<script type="text/javascript" src="../include/javascript/review.js"></
script>
<script type="text/javascript">
var map_id = 'mapmark_mymap';
</script>
<div id="body">
<div class="link_path"><a href="$option[url]">首页</
a>&nbsp;&raquo;&nbsp;<a href="cate.php?cd=$pcd">$_panels[$pcd]</
a>&nbsp;&raquo;&nbsp;<a href="shop.php?shopid=$shop[sid]">
$shop[shopname]</a>&nbsp;&raquo;&nbsp;地图标注</div>
<div id="left">
<div class="mainrail rail-border-1">
<h1 class="rail-h-1 rail-h-bg-1">$shop[shopname]</h1>
<ul class="rail-list">
<li>地址:$shop[address]</li>
<!--{if $shop[tel1] || $shop[tel2]}--><li>电话:
$shop[tel1]&nbsp;$shop[tel2]</li><!--{/if}-->
<li><span class="review-ico"><a href="post.php?
action=newreview&shopid=$shop[sid]">添加点评</a></span></li>
<li><span class="favorite-ico"><a href="javascript:;"
onclick="addfavorite($shop[sid]);">加入收藏</a></span></li>
<li><span class="page-ico"><a href="shop.php?shopid=
$shop[sid]">查看更多介绍和点评</a></span></li>
</ul>
</div>
<div class="mainrail rail-border-1">
<h1 class="rail-h-1 rail-h-bg-1">相关延伸资讯</h1>
<!--{datacall:61}-->
</div>
</div>
<div id="right">
<div class="mainrail rail-border-2">
<h3 class="rail-h-2 rail-h-bg-2">标注地图</h3>
<div id="mapmark_mymap"></div>
</div>
<div id="mapmark_control">&nbsp;<font color="#FF0000">&nbsp;<b>注意:如
果本区域在地图模式下无法浏览,可以点选地图右上角选择“混合地图Hybrid”模式观看。</b></font>
<form method="post" action="post.php?action=mapmark"
name="mapmarkfrm" onsubmit="return check_mapmark();">
<input type="hidden" name="shopid" value="$shopid" />
<input type="hidden" name="lng" />
<input type="hidden" name="lat" />
<button type="button" value="yes" onclick="atmark();" />我要标注</
button>&nbsp;
<button type="submit" name="mapmarksubmit" value="yes" />提交我的标注
</button>&nbsp;
<button type="button" onclick="history.go(-1);" />返回</button>
</form>
</div>
</div>
</div>
<script type="text/javascript" language="javascript">

function check_mapmark () {
var form = document.mapmarkfrm;
if(form.shopid.value.trim() == '') {
alert('无效的标注对象。');
return false;
} else if(!is_numeric(form.shopid.value.trim())) {
alert('标注对象不存在。');
return false;
} else if(form.shopid.value.trim() <=0 ) {
alert('标注对象不存在。');
return false;
} else if(!form.lng.value.trim().match(/^[0-9a-z\.\,]+$/) || !
form.lat.value.trim().match(/^[0-9a-z\.\,]+$/)) {
alert('还未标注。');
return false;
}
return true;
}
</script>

<!--{/if}-->

<script type="text/javascript" language="javascript">

var map = null;
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById(map_id));
//缩放和移动控件
map.addControl(new GSmallMapControl());
map.addControl(new GScaleControl());
map.addControl(new GMenuMapTypeControl());
map.enableScrollWheelZoom();

<!--{if $in_dialog}-->
<!--{if $_default_mappoint}-->
var center = new GLatLng($_default_mappoint[1],
$_default_mappoint[0]);
map.setCenter(center, 5);
<!--{/if}-->
<!--{else}-->
<!--{if $_default_mappoint}-->
var center = new GLatLng($_default_mappoint[1],
$_default_mappoint[0]);
map.setCenter(center, 13);
<!--{/if}-->
<!--{/if}-->
}

function atmark() {
var Center = map.getCenter();
var lat = new String(Center.lat());
var lng = new String(Center.lng());
setLatLng(lat, lng);
var marker = new GMarker(new GLatLng(lat, lng), {draggable:
true});
GEvent.addListener(marker, "dragstart", function() {
map.closeInfoWindow();
});
GEvent.addListener(marker, "dragend", function() {
var latlng = marker.getLatLng();
lat = String(latlng.lat());
lng = String(latlng.lng());
setLatLng(lat, lng);
});
map.addOverlay(marker);
}

function setLatLng(lat,lng) {
{LF}
<!--{if $in_dialog}-->
window.parent.document.forms['frmupshop'].lat.value = lat;
window.parent.document.forms['frmupshop'].lng.value = lng;
<!--{else}-->
document.mapmarkfrm.lat.value = lat;
document.mapmarkfrm.lng.value = lng;
<!--{/if}-->
{LF}
}
</script>

Todd White

unread,
Apr 5, 2010, 2:38:43 AM4/5/10
to Google API 技術論壇
这里没有人可以帮忙吗?
Reply all
Reply to author
Forward
0 new messages