检测google.maps.MarkerImage对象是否为空

Detect if google.maps.MarkerImage object is empty

本文关键字:是否 对象 MarkerImage google maps 检测      更新时间:2023-11-22

我有一个由几个标记填充的谷歌地图。我正在从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网站收到任何信息?

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

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