2014-09-01 181 views
2

我不知道如果我能在谷歌API的一个defualt图标为HTML(就像画HTML + CSS的东西在地图上的顶部,然后在CSS3和JQuery ..动画它自定义谷歌地图api图标,作为html标签?

如:

var html = '<div style="width: 50px; height: 40px; background-color: red;"></div>'; 

    var myLatlng = new google.maps.LatLng(31.990191, 34.756335); 
    var marker = new google.maps.Marker({ 
     position: myLatlng, 
     map: TheMap, 
     icon: html 
    }); 

回答

0

我不相信这是可以做到。

在您的例子,你需要通过40像素红色图像创建一个50像素,包括它在您的网站。

但是假设原因你的问题是创造一点点更具动感(每种颜色可能都有不同的颜色)。我的建议是创建一个页面服务器端,它将接受查询字符串参数。

var colour = 'red'; 
var url = 'http://www.yourwebsite.com/MyImageHandler.asix?colour=' + colour; 
var myLatlng = new google.maps.LatLng(31.990191, 34.756335); 
var marker = new google.maps.Marker({ 
    position: myLatlng, 
    map: TheMap, 
    icon: url 
}); 

我是一个.NET怪胎所以在我们的世界里,我们需要创建的HttpHandler,并设置它在MyImageHandler.asix请求作出回应。然后它会查看查询字符串参数并创建适当的图像。

我不想在不了解您的后端语言(如果有)的情况下深入了解更多细节。希望这可以帮助。

+0

我知道后端语言(也.net;)),但是,你的意思是在你的例子中,var url是“html”?并生成一个图像?我可能会遇到的另一个问题是,如果它无法完成,它是否会将其渲染为背景图片,因此我无法使用动画gif? – thormayer 2014-09-01 13:08:35

+0

你是对的 - 复制并粘贴错误!我相信你可以使用动画gif,但是你对透明度的支持相当有限(没有部分透明度的支持) - 我已经看到了另一个关于如何去做的细节,但没有提交。最后我放弃了这个想法,并采用了我上面概述的方法。 – Liath 2014-09-01 13:11:18