我使用以下功能为我的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();调整大小后没有任何区别。它将新的十字准线置于旧位置,仍然需要鼠标滚动缩放。
答案 0 :(得分:0)
经过三天的痛苦,我想到了这一点。重绘地图时
map.enableScrollWheelZoom();
必须
map.addCrosshairs();