2011-12-28 73 views
6

我想要在页面上的谷歌地图组件上模糊自定义光标。我希望能够以编程方式将光标更改为自定义图像,然后将其更改回默认光标。如何在谷歌地图API中为鼠标光标设置自定义图像v3地图

我相信这是你如何设置默认光标您的“地图”对象

map.setOptions({ draggableCursor: 'default' }); 

一些研究和实验后,我发现这样做是如下的最佳方式:

map.setOptions({ draggableCursor: 'url(path/to/your/image.png), crosshair' }); 

在CSS中,只有webkit支持cursor属性的url值,所以其他浏览器在这种情况下获得'crosshair'的值,这解决了我需要通知用户他们需要单击地图的问题。

有关draggableCursor属性的详细信息,请参阅谷歌地图API V3文档浏览:http://code.google.com/apis/maps/documentation/javascript/reference.html#MapOptions

希望这有助于谁是有问题的一个谷歌地图上设置自定义光标的人。

回答

10

在Mac上,它完美的工作在Chrome浏览器,safari和firefox上。

我只是用这个:

map.setOptions({ draggableCursor : "url(http://s3.amazonaws.com/besport.com_images/status-pin.png), auto" }) 

PS:我读的地方,你需要你的形象是在特定的浏览器64×64。永远不要尝试,但也许你的问题来自于此。

+0

是的,这是我发布的同样的解决方案。之后我的问题是将其设置回默认光标。在进一步研究之后,我发现要将光标更改回默认值,您必须使用Google使用的相同自定义光标图像:'map.setOptions({draggableCursor:'url(http://maps.google.com/mapfiles /openhand.cur),移动'})' – nomis 2012-01-19 19:19:16

+0

当我调用这个时,我得到一个错误'未捕获类型错误:无法调用null方法'setOptions'。 – 2013-05-02 22:59:24

2

要回你可以assing undefinded到draggableCursor变量的默认光标:

map.setOptions({draggableCursor: undefined}) 
0

对于那些谁正在寻找设置SVG为您draggableCursor。下面的解决方案。

map.setOptions({ draggableCursor : "url(PATH_TO_YOUR_SVG.svg), pointer" }); 

相信我可能。