静态贴图阴影参数被忽略

Posted

技术标签:

【中文标题】静态贴图阴影参数被忽略【英文标题】:Static maps shadow parameter ignored 【发布时间】:2013-11-19 14:35:53 【问题描述】:

从今天开始,我的静态地图显示出新的行为。我的自定义标记不再显示它们的阴影,因此它们的位置是错误的。我记得在引入“视觉刷新”时发生了类似的事情,但是我没有使用该参数。

我尝试添加 shadow:true(应该没有必要),这似乎被忽略了。

我意识到今天(2013 年 11 月 19 日)是 Google Maps API v2 将被淘汰的日子,所以也许我的问题与此有关。

谁能解开这个谜团?

【问题讨论】:

您还在使用版本 2 吗?谷歌本身声明:“所有请求 v2 的应用程序都将使用 v3 API 的特殊包装版本”,所以如果您使用 v2 并且它从今天开始,我会说:是的,这是相关的,您应该迁移到版本3. 【参考方案1】:

截至今天(2013 年 11 月 20 日),Google Static Maps API 文档尚未更新,以反映自定义图标显示的变化,这似乎与 Google Maps API v2 的停用有关。

在 v2 退役之前,静态地图自定义图标会显示阴影(shadow:true 是默认设置);他们的“锚点”设置在自定义图标图像的底部中心,从那里投射阴影。现在,默认情况下阴影是关闭的(一个错误?),并且锚点设置在自定义图标图像的中心。图像有效地掩盖了这一点,使我的地图“毫无意义”。

为了解决这个问题,我在我的网址中添加了visual_refresh=false。 visual_refresh 参数是今年早些时候引入的,作为开发人员选择加入新的美化地图的一种方式。见:http://googlegeodevelopers.blogspot.ch/2013/05/a-fresh-new-look-for-maps-api-for-all.html

说明 Google 静态地图自定义图标的示例图像(请参阅:https://developers.google.com/maps/documentation/staticmaps/index#CustomIcons)不再按应有的方式显示(默认为阴影)。将visual_refresh=false 添加到图像 src URL 会将地图返回到其预期状态。

我不知道这个解决方案需要多长时间。如果 Google 的某个人在更正静态地图 API 时更新此问题,那就太好了!

【讨论】:

我猜 'flat' 在里面,3D 出来了.. 但是地图图钉需要在正确的位置! 是的,同样的问题......我使用的解决方法是将图像加倍。基本上,谷歌将大头针放在其位置的中心。因此,如果您在图像下方添加一些透明像素(基本上是高度的两倍并将实际图像放在顶部),它就会起作用。很老套,但能胜任。 谢谢,我在另一个线程上读到了类似的想法。事实上,自定义标记变得无用。我希望这最终会被承认为一个错误。如果标记覆盖了正在绘制的位置,则没有“点”。 截至今天(至少我今天注意到)自定义标记在不使用“visual_refresh”参数的情况下正确定位,但是阴影 - 应该是默认值 - 仍然缺失! 具有讽刺意味的是,我想反其道而行之;仅将锚固定在底部中心是非常有限的,这意味着您只能使用尖头标记。如果它总是在中间,您仍然可以实现一个尖头标记(具有透明度),但也可以实现其他标记。把“虫子”带回来!

以上是关于静态贴图阴影参数被忽略的主要内容,如果未能解决你的问题,请参考以下文章

unity3d Light Probe不产生阴影。

(下) Camera类实例方法

◰GL-阴影贴图核心步骤

为啥3dmax做体积光要用阴影贴图?vr阴影为啥不行?请大神说下原理,谢谢您!

unity5 清晰的光影怎么烘培

延迟着色、法线贴图和指向远离光线的自阴影表面