给Google地图标记添加透明度

4

我有一个标记,看起来像这个教程中的标记:http://www.powerhut.co.uk/googlemaps/custom_markers.php

我能在这个标记上添加透明度吗?

我在网上搜索了很多,但没有找到解决这个问题的方法。在Bing地图中,我可以做如下操作:

var veCustomIco = new VECustomIconSpecification();
veCustomIco.CustomHTML= "<img src='" + url + "' style='filter: Alpha(opacity=10);-moz-opacity: 0.1;opacity: 0.10;'/>";
pin.SetCustomIcon(veCustomIco);

谢谢。

对不起,我没有清楚地暴露我的问题。 我有一个无法编辑的单个PNG图像。 我的问题是是否存在来自Google Maps API的某种方法,可以根据给定值将透明度应用于我的图像。 - Sergiu
5个回答

3

使用Google Maps API时,无法设置<img>的样式属性,这正是Sergiu(和我)想要的。 - Morv
1
我猜文档已经改变了,现在在MarkerOptions中显示了“opacity”,所以应该是可能的。 - Tim Baas

2

这是一个PNG文件,你可以根据需要添加透明度。PNG文件支持透明度。只需使用Photoshop或类似软件编辑图像文件即可。


2

1
听起来像是带有 alpha 通道的普通 PNG。没有什么花哨的软件工作,只需要简单的图形编辑。GIMP 可以做到这一点。使用“图层”->“透明度”->“添加 alpha 通道”,然后使用“橡皮擦”工具删除您想要删除的任何内容,或者调整图层不透明度使图层部分透明,或者在曲线中调整 Alpha 通道...无论如何,“棋盘格”背景意味着透明度。保存为 PNG,完成了。

0

我遇到了类似的问题,并通过通过php请求加载透明png并通过get传递“透明度”变量来解决它。

例如:pathtoyourphpfile/index.php?input=darkcyan_0c.png&transparency=40,其中“input”是原始图像,“透明度”是您想要的透明度百分比。在这种情况下,它输出“output-40.png”

我使用imagick处理png。以下是一个没有图像路径的非常简单的示例:

$percent   = $_GET[transparency];
$transparency   = 100 / $percent;
$command = "/usr/bin/convert ".$_GET[input]." -channel Alpha -evaluate Divide {$transparency} output-{$transparency}.png";
$output         = shell_exec($commando1); 

但您也可以使用php的GD库来调整png的透明度


您不应该将$_GET变量或其他用户输入直接传递给可执行命令。如果您在现网站上的脚本中实际使用了上面的代码,任何人都可以轻松地使用它来在您的服务器上运行任何他们想要的命令。无论如何,图像都应该提前创建并保存为静态文件,而不是在每个新请求时创建。 - orrd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接