Javascript 谷歌地图-更改图层图标大小
我有一个问题,我试图创建一个使用谷歌地图悬停效果,你在右边的一个div上,一个相应的地图标记将增加大小。我尝试使用这里讨论的技术: 但这并不是很有帮助,因为它正在构建一个新的标记。我只是想扩大我现有的标记。我正在尝试这样做:Javascript 谷歌地图-更改图层图标大小,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我有一个问题,我试图创建一个使用谷歌地图悬停效果,你在右边的一个div上,一个相应的地图标记将增加大小。我尝试使用这里讨论的技术: 但这并不是很有帮助,因为它正在构建一个新的标记。我只是想扩大我现有的标记。我正在尝试这样做: var aMap = $container.googleMapClient("map"); var layer = aMap.layers[iconLayer]; layer.points[iconLayer].marker.getIcon().size = new goo
var aMap = $container.googleMapClient("map");
var layer = aMap.layers[iconLayer];
layer.points[iconLayer].marker.getIcon().size = new google.maps.Size(45,33);
但不幸的是,这并没有改变可见大小。如果我在运行时检查图层,大小确实会改变。这种行为是不允许的吗?我真的必须破坏图层并渲染一个更大的图层,然后在mouseout上执行相反的操作吗?任何帮助都将不胜感激
marker.getIcon().size是只读的,因此不能在此处设置新的大小。而google.maps.Size(45,33)不会将图像拉伸到新的大小,只会更改图像的剪辑。您需要在上使用
scaledSize
属性
正如LeJared所说,您需要创建两个不同的MarkerImage
对象,并在它们之间进行交换
MarkerImage
对象是不可变的,因此无法动态更改大小。更一般地说,在Maps API中,需要使用set()函数设置属性,否则API将看不到更新。您能提供一个显示该行为的链接或JSFIDLE吗?这正是我最终要做的。我只是来写这个答案的。谢谢你的帮助。是的,这正是我最后要做的。谢谢您的反馈。@gabaum10您能分享一下您的代码吗?您是如何重新缩放标记图像的?