2011-09-21 73 views
2

我正在开发与bing地图的Web应用程序。我用这个方法来改变航点图钉图标:必应地图悬停航点图钉图标

directionsManager.setRenderOptions({ 
     itineraryContainer: document.getElementById('itineraryDiv'), 
     waypointPushpinOptions: { 
      icon: "/images/citta-nascosta/blue-pushpin.png", 
      height:29, 
      width:25, 
      draggable:false, 
      textOffset:new Microsoft.Maps.Point(-1,3) 
     } 
}); 

然后我渲染图:

directionsManager.calculateDirections(); 

在现场我看到图钉与我的自定义图标,但我也想改变悬停中的图标(实际上我看到悬停标准图标,蓝色标志)。

有人知道如何设置自定义悬停航点图钉图标?或者防止mousehover事件?

回答

0

创建图钉时,可以在选项对象上设置typeName属性。这被设置为包含图钉的类名称。

例子 - 如果你设置的typeName为“航点”,然后在你的CSS,你可以有:

div.waypoint { 
    /* normal settings */ 
} 
div.waypoint:hover { 
    /* hover settings */ 
} 

另外,您可以订阅的图钉和响应鼠标事件改变对TypeName属性图钉和有不同的CSS规则适用(如果:悬停伪类不起作用)

希望帮助。

+0

嗨尼希尔,我有和鲁本一样的问题。我已经尝试了你所建议的方法,但它不起作用。问题在于,在驾驶路线上的航点的图钉已经附加了mouseover和mouseout事件处理程序,所以即使我们给它一个css类,事件处理程序仍然会触发并更改图钉图标。我知道如何将事件附加到我自己创建的图钉上,但我真的很想知道如何订阅鼠标事件作为驾驶路线的一部分自动创建的图钉。你能解释如何做到这一点? –

1

尝试使用hoverIconwaypointPushPinOptions像这样:

directionsManager.setRenderOptions({ 
     itineraryContainer: document.getElementById('itineraryDiv'), 
     waypointPushpinOptions: { 
      icon: "/images/citta-nascosta/blue-pushpin.png", 
      hoverIcon: "/images/citta-nascosta/blue-pushpin-hover.png", 
      height:29, 
      width:25, 
      draggable:false, 
      textOffset:new Microsoft.Maps.Point(-1,3) 
     } 
}); 

此属性是无证。如果微软想要更多地采用他们的地图API,他们应该真正采取行动,而不是付费公司来使用它。非常草率!