【问题标题】:How can I change cluster icon on angular google maps?如何更改角度谷歌地图上的集群图标?
【发布时间】:2015-06-13 15:04:25
【问题描述】:

我正在使用角度谷歌地图,我正在尝试使用集群功能,但它不起作用,也许你们中的一些人可以给我一个提示。

这是一个小提琴,但它使用默认的谷歌集群图像(黄色、蓝色和红色集群),你可以看到 3 个标记,如果你减小缩放,你会看到集群。

http://jsfiddle.net/5ya0svjs/11/

$scope.clusterOpt = {
        calculator: function(){
            return { index: 1 , text: "HERE DUDE, CAN U SEE?", title:"Please help me guys"};
        },
        styles: [
            {
                url: "mypath/anyImage.png",
                width: 63
            }
        ],
        averageCenter: true
    };

我想自定义它,所以我添加了计算器功能,以根据集群上的标记数量返回我自己的一张图像。但是当我这样做时,集群位于地图的顶部,而不是它应该在的位置,我尝试设置 varege 属性和 anchor 属性,但两者都无法解决这个错误。

在这个小提琴中你可以看到计算器函数,对于只有 1 个 makericoncluster 的样式数组总是返回 1 (具体与错误有关)。 当您减小缩放时,您将看不到它应该在的位置,但您会在地图顶部看到它,我也没有放图像,我只写了一个文字“Here dude ...”)(要具体与错误)。有人可以帮我吗?

(如果你点击标记,那只是一个“这里的家伙,你能看到吗?”你将被放置在标记所在的位置)

这是我的Fiddle

【问题讨论】:

  • 找到了一个可能有用的example

标签: javascript angularjs google-maps angular-google-maps


【解决方案1】:

集群样式的width(和height)属性不会缩放图像,它们会剪切图像。所以在这个例子中你只会得到图像的剪辑部分(它是空的)。

使用 CSS 来缩放图像,例如通过

.angular-google-map-container .cluster img {
  width:63px;
  height:93px;
}

工作小提琴:http://jsfiddle.net/5ya0svjs/30/

【讨论】:

  • 问题是我没有看到height也是必需属性,我以为required列在底部但是那里隐藏了另一个必需属性=(使用height属性它变得没问题。但是感谢您对图像的 css 参考,我不需要它,因为我的图像的尺寸已经是正确的。
  • 宽度和高度并不是真正的“必需”,当它们是这应该会导致错误(因为未设置宽度和高度):jsfiddle.net/5ya0svjs/44 ...但您会看到 ClusterIcon
  • 这里写的是必须的。 google-maps-utility-library-v3.googlecode.com/svn/tags/… 不过不管怎样,你解决了我的问题 =D 谢谢。
  • Dr.Molle,你给我展示了自定义集群图标的css,即 .angular-google-map-container .cluster img { width:63px;高度:93px; } ,我尝试以同样的方式自定义图标,我的图像是正方形 n 我想设置为圆形,我尝试使用 .angular-google-map-container .marker img ,但它没有用,你呢知道我应该使用什么吗?
  • example using an image as a circle(通过border-radius:50%)。注意:当您在标记周围绘制边框时,您必须将img(在CSS中)的宽度和高度减少borderWidth*2
猜你喜欢
  • 1970-01-01
  • 2020-12-18
  • 2021-03-29
  • 1970-01-01
  • 2016-04-03
  • 2013-01-13
  • 2013-03-24
  • 2011-12-21
相关资源
最近更新 更多