这里是塔林的小热图,有三个来源:
正如你所看到的,没有"红色"部分在这个地图上的例子。
但是当我缩小时,我得到了这个:
缩小时我需要热像图呈橙黄绿色,而不是红色
如何使用热图和google-maps-api
(可选)实现这一目标。
注意:
我做了一个缩小事件来改变半径,我认为这个事件也可以帮我解决这个问题,但我不知道我应该改变什么样的配置:
google.maps.event.addListener(map, 'zoom_changed', function() {
var zoomLevel = map.getZoom();
heatmap.setOptions({radius:zoomLevel*0.5});
});
答案 0 :(得分:0)
我的解决方法如下:
function getHeatMapRadius(latitudeCoordinate) {
var distanceInMeter = 3; /* meter distance in real world */
var meterPerPixel = 156543.03392 * Math.cos(latitudeCoordinate * Math.PI / 180) / Math.pow(2, zoom);
var radius = distanceInMeter / meterPerPixel;
return radius;
}
这里是上述公式的source。