传递图标参数时,标记加载时间慢10倍(有效与否)

时间:2018-11-22 11:24:48

标签: javascript google-maps google-maps-api-3 google-maps-markers

我发现,在Google地图的标记上设置图标时,加载时间要慢得多。标记物含量高会产生重大影响。

我的测试环境有20000个标记。

以这种方式创建大量标记:

   new google.maps.Marker({
      position: { lat: this.lat, lng: this.lng },
      map: this.map,
      draggable: false,
      optimized: true,
      visible: true
    });

大约需要400毫秒。使用默认图标。

但是使用添加的图标参数(无论是哪种图标)创建标记:

   new google.maps.Marker({
      position: { lat: this.lat, lng: this.lng },
      map: this.map,
      icon: {url: this.iconUrl},
      draggable: false,
      optimized: true,
      visible: true
    });

大约需要4500毫秒

我尝试了不同类型的图标-硬编码的svg,文件中的svg,base 64,jpg,png,gif,不同大小的图标-从50x50px到1x1px。一切都得到相同的结果。即使传递带有空url的图标对象,也会得到4500毫秒的加载时间。我们尝试使用图标(无论成功与否)的事实大大降低了加载时间。

在这种情况下有什么方法可以增加加载时间?

提要示例,其中将url字段作为对象和字符串进行比较:https://jsfiddle.net/ur76jckb/

1 个答案:

答案 0 :(得分:1)

我建议设置icon: this.iconUrl而不是icon: {url: this.iconUrl},这似乎可以加快速度。