我已经按照我的期望使用了Google Maps Clustering及其工作方式。
但是,我在MarkerClusterer
-imagePath
中面临一个奇怪的问题。当我设置这个..
imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m',
工作正常。但是,当我这样做时。
var imgpath = '<?= SITE_ROOT_IMAGE_DEFAULT ; ?>m3.png';
imagePath: imgpath,
并警告它,为我提供了正确的相对路径/var/www/html/my-app/webroot/img/m3.png
,该路径是我下载此图像的位置。但是它不起作用。
我也尝试过通过http
添加。
imagePath: 'http://localhost/my-app/img/m3.png',
我能够看到我的图像,但效果不佳。
仅供参考,我也已将markerclusterer.js
库下载到本地服务器中,并仅从本地请求。我正在使用Cakephp 3.x folder structure。
我还尝试了其他类似方法。
imagePath: "../img/m",
但它也不起作用。
有人可以指导我在这里做错什么吗?为什么我的imagePath
没有被使用?
答案 0 :(得分:1)
阅读the documentation时说:要使用自己的自定义群集图像,只需将图像命名为m[1-5].png
或将imagePath选项设置为图像的位置和名称,如下所示:{{ 1}},用于图像imagePath: 'customImages/cat'
至cat1.png
。
您应使用相对路径到声明此路径的文件。
这是示例文件夹结构:
cat5.png
如果在具有上述文件夹结构的文件- cluster_images
- m1.png
- m2.png
- m3.png
- m4.png
- m5.png
- main.js
中声明imagePath
,则应该为:
main.js
编辑:
如果要分别为每个图像设置样式并定义图像大小,则应使用var markerCluster = new MarkerClusterer(map, markers, {imagePath: 'cluster_images/m'});
参数并分别声明每个群集图标。
styles
以上代码使用默认图像。再次用每个图片的相对路径替换URL,并更新尺寸以避免图片拉伸。