我正在使用google.maps.MapCanvasProjection
来计算地图的某些内容(使用fromLatLngToContainerPixel
),然后才能将其平移并缩放到新位置。以下是我获得投影的方式:
var overlay = new google.maps.OverlayView();
overlay.draw = function(){};
overlay.setMap(map);
var proj = overlay.getProjection();
然而,我需要使用此叠加层进行的计算需要基于地图缩放后的位置和缩放级别,因为它使用的像素宽度一旦缩放级别更改就不准确。我有一个名为getZoomLevel()
的函数,它返回我需要的未来缩放级别,但我无法弄清楚如何使用这个新的缩放级别创建“虚拟地图”。我希望在以任何方式移动或缩放实际可见地图之前进行这些计算。
如果没有创建一个从未添加到DOM的全新地图,是否有办法让fromLatLngToContainerPixel
采用与当前可见地图缩放不同的缩放级别?
工作,但是黑客的例子:http://hamclock.net/maps/