在一个Google Maps Marker中包含3张图片

时间:2013-04-09 17:42:21

标签: javascript google-maps google-maps-api-3

我正在尝试使用Google Maps API完成此操作。我尝试了几个javascript插件,例如来自google-maps-utility-library-v3的组件,但似乎没有真正为此目的而做。

基本上我要做的就是有一个阴影层,一个用户的图片层,并在其上面有一层用于标记图像。我的标记图像中有一个透明孔,所以我希望用户的脸部显示在那个洞中,这就是为什么我要这样做。

我现在所拥有的很简单:

var shadow = {
    url: '/data/images/map/pin_shadow.png',
    size: new google.maps.Size(108, 95),
    anchor: new google.maps.Point(30, 47)
};

var image = {
    url: '/data/images/map/pin.png',
    size: new google.maps.Size(60, 95),
    anchor: new google.maps.Point(30, 47)
};

var marker = new google.maps.Marker({
    position: new google.maps.LatLng(venue.lat, venue.lng),
    map: map,
    icon: image,
    shadow: shadow
});

我想知道是否有人这样做过?

编辑:我最好喜欢客户端解决方案。感谢

我希望我可以在阴影和图像之间添加另一个图像。有什么想法吗?

谢谢,祝你有愉快的一天!

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

从PHP / .NET / JSP /...

动态创建图像
var image = {
    url: 'my_script.php?user=12345',
    size: new google.maps.Size(60, 95),
    anchor: new google.maps.Point(30, 47)
};

我不知道你使用哪种语言,所以这里是一个脚本伪代码:

Set headers to print script as image
if image exists for specified user : 
    return this image;
else
    create image for user with the 3 layers
    return image
end if