在地图调整大小问题后,Google地图上的垂直十字准线重新定位

时间:2010-06-12 05:45:16

标签: javascript google-maps

我使用以下功能为我的Google地图添加十字准线。它非常适合水平调整大小。我无法弄清楚如何让它适用于垂直。在调整地图大小后,它需要用户放大或缩小1层,十字准线会在该层上捕捉到中心。

var crosshairsSize=17;
GMap2.prototype.addCrosshairs=function(){
    var container=this.getContainer();
    if(this.crosshairs){$(this.crosshairs).remove();}
    var crosshairs=document.createElement("img");
    crosshairs.src='../images/crosshair2.gif';
    crosshairs.style.width=crosshairsSize+'px';
    crosshairs.style.height=crosshairsSize+'px';
    crosshairs.style.border='0';
    crosshairs.style.position='relative';
    crosshairs.style.top=((parseInt(container.clientHeight)-crosshairsSize)/2)+'px';
    crosshairs.style.left="0px"; // The map is centered so 0 will do
    crosshairs.style.zIndex='500';
    container.appendChild(crosshairs);
    this.crosshairs=crosshairs;
    return crosshairs;};

我使用map.checkResize();并且地图是正确的,它只是关闭的十字准线。我尝试在一个级别上触发javascript缩放,但它不像放大鼠标那样工作。它只是使用鼠标滚轮进行放大/缩小...单击并拖动缩放滑块不起作用所以它不知道它喜欢鼠标滚轮。

点击addCrosshairs();调整大小后没有任何区别。它将新的十字准线置于旧位置,仍然需要鼠标滚动缩放。

1 个答案:

答案 0 :(得分:0)

经过三天的痛苦,我想到了这一点。重绘地图时

map.enableScrollWheelZoom();

必须

map.addCrosshairs();