如何在谷歌地图中增加图标的可点击区域

时间:2009-05-20 12:00:12

标签: google-maps

我们正在尝试增加Google地图上标记的可点击区域。我们想要点击图标的原因有时会错过锚点。我们宁愿不减小图标大小的大小

我们假设我们需要改变GIcon对象的一个​​属性,并尝试更改GIcon的iconAnchor和infoWindowAnchor属性,但这似乎不起作用。

是谁都指出了我们正确的方向?

4 个答案:

答案 0 :(得分:2)

我知道它已经有一段时间但是我有同样的问题,让我们说你的图标宽51像素,高32像素:

var baseIcon = new GIcon(G_DEFAULT_ICON);
baseIcon.imageMap = [0,0 , 51,0, 51,32 , 0,32];

基本上你只是输入x,y坐标

答案 1 :(得分:2)

如果你有不同的图标,最好动态创建imageMap:

function getImgSize(imgSrc) {
   var newImg = new Image();
   newImg.src = imgSrc;
   var height = newImg.height;
   var width = newImg.width;
   return [height,width];
}

var icon = new GIcon(G_DEFAULT_ICON,iconUrl);
var iconSize = getImgSize(iconUrl);
icon.iconSize = new GSize(iconSize[1], iconSize[0]); // set icon size
icon.imageMap = [0,0, icon.iconSize.width,0, icon.iconSize.width,icon.iconSize.height,0,icon.iconSize.height]; // set click area
icon.shadowSize = new GSize(0, 0); // disable shadow

答案 2 :(得分:0)

参考:http://code.google.com/apis/maps/documentation/reference.html#GIcon

iconAnchor和infoWindowAnchor分别在图像中设置地图上的实际点和信息窗口。

如果你想要一个更大的可点击区域,你可以用非IE的imageMap属性(我从未尝试过)。但是,我认为你最好的选择是定义一个使用更大图像的自定义GIcon(填充透明空间。不幸的是,这有点像黑客 - 也许其他人知道更好的方法。

答案 3 :(得分:-2)

最后,我们缩小了图像的大小。我们没有注意到推荐的图形尺寸是19x19