MarkerCluster V3停止正常工作

use*_*453 11 google-maps markerclusterer

我正在使用来自github的MarkerCluster_compiled.js.但是当逻辑工作时,它的图形从昨天开始失败.

该问题似乎是由" https://google-maps-utility-library-v3.googlecode.com/svn "返回404 引起的,并且所有群集标记图像都依赖于此网址.(这个谷歌地图v3 svn网址仍然在谷歌的公共领域)

在我看来,这个特殊的"404"的影响并非微不足道,因为我看到人们的现场网站已经受到影响.我很惊讶这个问题可能发生在谷歌身上.

例如:github.io上的marker-clusterer的advanced_example不再有效(由于声誉不佳,我无法发布链接).

期待看到Google修复此问题或任何其他建议.

Chr*_*ook 10

随着Google将源代码移交给GitHub,可以使用以下脚本url 从RawGit访问新的GitHub版本:

https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/src/markerclusterer.js
Run Code Online (Sandbox Code Playgroud)

在实例化MarkerClusterer以访问GitHub中的图像时,您还需要指定imagePath选项:

var mc = new MarkerClusterer(map, markers, { 
    imagePath: 'https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/images/m' 
});
Run Code Online (Sandbox Code Playgroud)

以下早期的SO帖子包含有关对集群映像的imagePath引用的更多详细信息:

Google地图无法在https://中运行

虽然以上网址(带有cdn前缀)没有流量限制或限制,并且文件是通过超快速全球CDN提供的,但请记住,RawGit是免费托管服务,不提供正常运行时间或支持保证.

以下SO答案将对此进行更详细的介绍:

链接并执行GitHub上托管的外部JavaScript文件

这篇文章还介绍了,如果您要链接到GitHub上的文件,那么在生产中您应该考虑定位特定的版本标签,以确保您获得该脚本的特定发行版本.

但是,由于js-marker-clusterer存储库的保管人尚未创建任何版本,因此目前无法实现.

因此,您应该认真考虑直接在项目中下载并包含库及其资源以用于生产目的.


Pet*_*One 9

下载markerclusterer.js和图像m1.png,以m5.png从GitHub https://github.com/googlemaps/js-marker-clusterer/tree/gh-pages/images并保存在本地,这样的:

index.html
markerclusterer.js
images/
- m1.png
- m2.png
- m3.png
- m4.png
- m5.png
Run Code Online (Sandbox Code Playgroud)

然后在使用时markerclusterer.js,设置imagePathìmages/m这样:

var mc = new MarkerClusterer(map, makers, {imagePath: 'images/m'});
Run Code Online (Sandbox Code Playgroud)

为什么你应该像上面描述的那样使用它:

  • GitHub不是CDN.
  • 路径可能会像以前一样发生变化.
  • 它将与http和https一起使用!
  • 您不依赖外部资源来保持服务的活力.