我目前正在使用带有标签控件的谷歌地图标记。我可以动态地为地图指定一个标记,并为该标记添加标签。
我已经想出了如何隐藏标签,但是我对如何隐藏图标和显示标签感到有些失落。有人对此提出一些建议?
markerWithLabel.setMap(null);
删除标记和标签,而不仅仅是标记。
答案 0 :(得分:13)
我可以通过将图标设置设置为空字符串“”来隐藏标记。
var marker = new MarkerWithLabel({
icon: " ",
position: location,
draggable: true,
raiseOnDrag: true,
map: map,
labelContent: z,
labelAnchor: new google.maps.Point(22, 0),
labelClass: "labels", // the CSS class for the label
labelStyle: {opacity: 0.75},
});
答案 1 :(得分:4)
非常简单,只需将透明图像设置为图标即可。在这里我设置了一个1x1透明GIF - pixel_trans.gif - 当点击MarkerWithLabel时作为Icon:
var marker = new MarkerWithLabel({
...
});
google.maps.event.addListener(marker, 'click', function() {
this.setIcon('pixel_trans.gif');
});
Viola,点击标记时会隐藏标记,但标记会立即显示。 不可以隐藏图标,只显示MarkerWithLabel current version中的标签。
注意:您必须先传送有效图像,然后再进行操作,例如存在的图像。将setIcon
与null或无效图像一起使用将被忽略。 1x1透明gif是一种可接受的解决方案,因为用户将拥有隐藏标记的经验,并且在尝试点击它时会遇到麻烦:)