【发布时间】:2014-01-08 21:15:12
【问题描述】:
我正在尝试使用适用于所有浏览器但不适用于 IE 的 google maps api v3 呈现热图。 IE 9 需要很长时间才能呈现,但 IE8 开始抛出“停止运行此脚本”警报,说脚本花费的时间太长。
我在下面放置了一个只有 5 个集群的简单示例,IE8 仍然会引发长时间运行的脚本错误。你能帮我解决这个问题吗?谢谢!
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=visualization&sensor=false">
</script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function () {
var data = [
{ "lat": "45.284397", "lon": "-126.724372", "count": 10 },
{ "lat": "45.284156", "lon": "-126.724853", "count": 5 },
{ "lat": "45.284450", "lon": "-126.725532", "count": 20 },
{ "lat": "45.284839", "lon": "-126.725875", "count": 34 },
{ "lat": "45.285442", "lon": "-126.726181", "count": 46 }
];
var usaCenter = new google.maps.LatLng(54.6, -119.2);
var heatMap = new google.maps.Map(document.getElementById('heatMap'), {
zoom: 4,
center: usaCenter,
mapTypeControlOptions: {
mapTypeIds: ["Traffic", google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.TERRAIN]
},
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var heatMapData = [];
var bounds = new google.maps.LatLngBounds;
$.each(data, function (index, point) {
var latLng = new google.maps.LatLng(point["lat"], point["lon"]);
var heatPoint = {
location: latLng,
weight: point["count"]
};
heatMapData.push(heatPoint);
bounds.extend(latLng);
});
var heatmapOverLay = new google.maps.visualization.HeatmapLayer({
data: heatMapData,
opacity: 0.7
});
heatmapOverLay.setMap(heatMap);
});
</script>
<div id="heatMap" style="width:1600px;height:1600px"></div>
【问题讨论】:
标签: google-maps internet-explorer google-maps-api-3 internet-explorer-8 maps