在谷歌地图中绘制多个圆圈时加速

时间:2013-06-11 07:08:17

标签: google-maps google-maps-api-3 python-2.7 maps gis

我创建了一个谷歌地图,在里面我绘制了多个半径圆圈。从地图外部单击按钮绘制半径圆。当有15-20个圆圈被绘制时,代码工作正常。但是当圆的数量达到100或更多时,需要花费大量时间。它也挂断了浏览器。无论如何,我们可以在地图上绘制半径圆时加快速度。

以下是我正在使用的代码。我在django模板中循环一个python变量来绘制圆圈。

{% for key, val in info.items %}

    var radius = parseFloat(5) * parseFloat(1609.3)
    var lat = '{{val.latitude}}'
    var long = '{{val.longitude}}'
    circle_latlng = new google.maps.LatLng(lat, long)
    var circle = {
       strokeColor: "#ff0000",
       strokeOpacity: 0.8,
       strokeWeight: 1,
       fillColor: "#ff0000",
       fillOpacity: 0.20,
       map: map,
       center: circle_latlng,
       radius: radius,
       zIndex: 5
    };  

   var drawCirle = new google.maps.Circle(circle); 

{% endfor %}

1 个答案:

答案 0 :(得分:0)

看起来圈子在您的页面中是硬编码的。在通过AJAX techniques呈现地图后加载它们。为防止地图“挂起”,请使用setTimeout为浏览器提供CPU周期以响应用户。