我们正在尝试增加Google地图上标记的可点击区域。我们想要点击图标的原因有时会错过锚点。我们宁愿不减小图标大小的大小
我们假设我们需要改变GIcon对象的一个属性,并尝试更改GIcon的iconAnchor和infoWindowAnchor属性,但这似乎不起作用。
是谁都指出了我们正确的方向?答案 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