1

我有一个由几个标记填充的谷歌地图。我从http://chart.apis.google.com/chart?chst=d_map_xpin_icon&chld=pin|glyphish_star|FFFF00|0000FF获取我的标记。我的一些客户端浏览器安全性阻止这些图像被下载,我想检测到这一点并将它们恢复为默认图像。

var gmMarkerImage = new google.maps.MarkerImage(
  "http://chart.apis.google.com/chart?chst=
    d_map_xpin_icon&chld=pin|
    glyphish_star|
    FFFF00|
    0000FF"
)

我如何检测 gmMarkerImage 对象是否不是图像或空的?或者我如何确定我没有收到来自 chart.apis.google.com 网站的任何内容?

4

1 回答 1

0

我认为 Google Maps API 不会让您访问底层 DOM 对象。您收到的MarkerImage对象仅包含有关标记的信息,将其呈现为 HTML 或 DOM 对象将读取该信息。

但是,如果我们退后一步,您的用户无法为他们的图像使用此自定义 URL 的原因可能是他们不信任非 SSL 引用(真的吗?)。或者他们通常不信任chart.google.com 域(这会被推迟,但仍然如此)。您可以通过在未连接到地图的页面中包含不可见图像并处理onError此图像上的事件来测试这一点。图像上的AnonError通常表示资源无法加载,通常是因为 404、403 等...当此图像收到错误时,您可以遍历所有标记并将其 URL 设置为后备。

于 2012-07-18T18:01:37.743 回答