我正在使用 github 上的 MarkerCluster_compiled.js。但虽然逻辑有效,但它的图形从昨天开始就开始失效。
问题似乎是由“https://google-maps-utility-library-v3.googlecode.com/svn”返回 404 引起的,并且所有集群标记图像都依赖于此 url。 (这个谷歌地图v3 svn url仍然在谷歌的公共领域)
在我看来,这个特殊的“404”的影响并不小,因为我看到人们的生活网站受到了影响。我很惊讶这个问题会发生在谷歌身上。
例如: github.io 上的标记集群的 advance_example 不再工作(由于我的声誉较低,我无法发布链接)。
期待看到 Google 解决该问题或任何其他建议。
随着 Google 不久前将源代码移至 GitHub,新的 GitHub 版本 可以使用以下脚本 url 从 RawGit 访问:
https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/src/markerclusterer.js
在实例化 MarkerClusterer 时,您还需要指定 imagePath 选项以从 GitHub 访问图像:
var mc = new MarkerClusterer(map, markers, {
imagePath: 'https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/images/m'
});
以下较早的 SO 帖子包含有关集群图像的 imagePath 引用的更多详细信息:
中使用虽然上述网址(带有 cdn 前缀)没有流量限制或节流,并且文件通过超快速的全球 CDN 提供服务,但请记住,RawGit 是免费托管服务,不提供正常运行时间或支持保证.
以下 SO 答案对此进行了更详细的介绍:
链接并执行托管在 GitHub 上的外部 JavaScript 文件
这篇文章还介绍了,如果您链接到 GitHub 上的文件,在生产中您应该考虑定位特定的发布标签,以确保您获得脚本的特定发布版本。
但是,由于 js-marker-clusterer 存储库的保管人尚未创建任何版本,因此目前这是不可能的。
因此,您应该认真考虑下载该库及其资源并将其直接包含在您的项目中以用于生产目的。
从 Github
https://github.com/googlemaps/js-marker-clusterer/tree/gh-pages/images下载
markerclusterer.js
和图像 m1.png
到 m5.png
并将它们保存在本地,如下所示:
index.html
markerclusterer.js
images/
- m1.png
- m2.png
- m3.png
- m4.png
- m5.png
然后在使用
markerclusterer.js
时,将imagePath
设置为ìmages/m
,如下所示:
var mc = new MarkerClusterer(map, makers, {imagePath: 'images/m'});
为什么你应该像上面描述的那样使用它: