2013-05-14 65 views
3

例如,我可以更改地图的draggableCursor,但即使我更改了它,多边形的光标仍然是指针,因为地图位于多边形后面。我想将多边形的光标设置为'移动',以清楚地看到多边形是可拖动的。谷歌地图api-3:更改多边形的默认光标

什么是改变多边形光标的正确方法?是否有财产或方法来做到这一点? (我已阅读Google的文档,但没有发现任何内容)

ps。 我有理由在多段线上使用多边形,所以折线不是一个选项。

+1

不幸的是没有选项可以改变光标。该指针似乎表示该多边形是可点击的,但是当您将可点击选项设置为false时(在这种情况下将出现拖动光标),该多边形不再可拖动。 –

回答

6

其实它似乎是可能的。 这是这个想法。
CSS:

.moving, 
.moving * {cursor: move !important;} 

JS:

google.maps.event.addListener(myPolygon, 'mousemove', 
    function(e) { 
     if (!isNaN(e.edge) || !isNaN(e.vertex)) 
      mapCanvas.className = ''; 
     else 
      mapCanvas.className = 'moving';   
    } 
); 

google.maps.event.addListener(myPolygon, 'mouseout', 
    function() { 
     mapCanvas.className = ''; 
    } 
); 

干杯!

+0

适用于我,但必须添加以下内容:mapCanvas = document.getElementById(“container”); – amackay11

-2

鼠标事件polybon和地图做到这一点:
光标移到地图:

document.getElementById("map").children[0].children[0].style.cursor = 'url(res/end.png), auto';

光标移到多边形:

document.getElementById("map").style.cursor = 'url(res/end.png), auto';

+1

你应该解释你的代码并正确格式化。 –

1

您可以设置CSS光标!importantdiv #map上,但它总是覆盖您的自定义光标。

#map div 
{ 
    cursor: url("your.url.to.cursor.png"), default !important; 
}