ale*_*ard 2 javascript internet-explorer-8 internet-explorer-7 google-maps-api-3
我有一个正在开发的网站,它使用Google Maps API V3加载多个位置制作者.一切正常,除了在IE7/8中,由于以下错误,我在数组中循环失败:
SCRIPT5007: Unable to get value of the property '5': object is null or undefined
Run Code Online (Sandbox Code Playgroud)
我已经查看了StackOverflow上的所有类似问题,但找不到任何解决方案.
所以我试图从对象数组访问数据(我也尝试了嵌套数组,但发生了同样的错误).我的阵列如下.我也尝试删除html对象,以防引起问题,但没有变化 - IE7/8仍然无法获取对象值.
var sites = [
{title: "Hermitage Medical Clinic", latitude: 53.3593139774, longitude: -6.40494071541, enumerator: 1, html: "<div class=\"find_a_surgeon_info_inner\"><h4 style=\"margin: 0; padding: 0;\">Hermitage Medical Clinic</h4><p>Old Lucan Road, Dublin 20</p><p><a href=\"http://devel.pixelapes.com/iaps.ie/location/hermitage-medical-clinic/\">View hospital details</a></p></div>", iconTerm: "hospital" }
];
Run Code Online (Sandbox Code Playgroud)
这是我的功能,它试图访问数据:
function setMarkers(map, sites) {
for (var i = 0; i < sites.length; i++) {
// var sites = markers[i];
var icon = '<?php bloginfo("template_url"); ?>/images/map-icons/' + sites[i].iconTerm + '.png';
var siteLatLng = new google.maps.LatLng(sites[i].latitude, sites[i].longitude);
var marker = new google.maps.Marker({
position: siteLatLng,
map: map,
icon: icon,
title: sites[i].title,
zIndex: sites[i].enumerator,
html: sites[i].html
});
var contentString = "Some content";
google.maps.event.addListener(marker, "click", function () {
infowindow.setContent(this.html);
infowindow.open(map, this);
});
}
}
Run Code Online (Sandbox Code Playgroud)
我还尝试退回到只使用默认的Maps标记,以防iconTerm对象出现特定问题,但IE7/8只是尝试获取下一个对象值失败.
这是一个发生这种情况的页面:http: //devel.pixelapes.com/iaps.ie/surgeon/eamon-s-beausang/
奇怪的是,我有另一个地图实例,我没有用map.fitBounds设置边界.无法获取对象值仍然会发生,但地图排序负载(但非常混乱):http://devel.pixelapes.com/iaps.ie/find-a-hospital-or-clinic/
我已尝试在单个外科医生页面上删除fitBounds功能,但地图仍然没有像"查找医院"地图那样部分加载.
关于如何解决这个问题的任何想法?
| 归档时间: |
|
| 查看次数: |
12037 次 |
| 最近记录: |