当前位置: 首页 > 知识库问答 >
问题:

单击标记时agm标记图标更改

墨阳羽
2023-03-14

我试图在点击时更改标记的图标编号。我使用的是角度谷歌地图。我正在使用本地资产文件夹而不是服务API设置iNurl。

<agm-marker *ngFor="let m of mapArrayList; let i = index" (markerClick)="clickedMarker(infowindow)"
    [latitude]="m.geometry.location.lat()" [longitude]="m.geometry.location.lng()" 
    [iconUrl] ="
      {
        url: './assets/images/car.svg',
        scaledSize: {
            width: 40,
            height: 60
        }
    }">

单击标记时,如何更改上述图标。

共有1个答案

程志新
2023-03-14

您可以在数组对象上设置一个属性,以了解对象的状态。您需要从< code>markerClick事件中更新此属性。我在这个例子中使用了< code>isClicked属性。

在这种情况下,您可以检查需要加载哪个SVG。

<agm-marker *ngFor="let m of mapArrayList; let i = index" (markerClick)="clickedMarker(infowindow)"
[latitude]="m.geometry.location.lat()" [longitude]="m.geometry.location.lng()" 
[iconUrl] ="
  {
    url: m.isClicked ? './assets/images/car.svg' : './assets/images/bike.svg',
    scaledSize: {
        width: 40,
        height: 60
    }
}">
 类似资料:
  • 更新:我通过添加previousMarker对象解决了性能问题。因此,只有先前点击的标记将被删除,并替换为默认图标。然而,当我单击标记时,信息窗口仍然没有显示。 我有一个地图视图,并在上面设置了一些标记。我想要的是当我点击一个标记时,它会改变它的图标为一个不同的图标,当我点击另一个标记时,前一个标记的图标应该改变为它原来的图标。 populateAllMarkersOnMap()目前可以是如下所示

  • 我试图单击标记,但当我试图通过ID访问它时,我得到了一个错误,即无法定位元素。 我在单元测试项目中使用selenium C#。单击的代码如下所示: 新分析

  • 我想更改Google Maps上选定的标记图标,因此我有以下代码: 在这一行,我从下面得到错误: 例外情况如下:

  • 我正在用html/jsp页面主体中的Google地图做一个web动态项目。 我制作了一个函数,可以创建一个标记(lat、lng、map),并在标记的参数中使用一个特殊的image.png作为图标。 在我的地图中,我制作了两种不同的样式(地图的颜色…)“白天”和“夜晚”。 我想知道当用户点击夜间更改样式时,我如何更改标记的图标。事实上,标记的颜色不适合这种风格的地图... 我尝试用相同的名称初始化不

  • 嗨,我有问题,如何实现点击标记的信息窗口?问题是我在地图上有很多标记,如果单击信息窗口,每个标记都有另一个活动<代码>在此处输入代码 以下是示例 标记1----- 我尝试了很多代码但没有解决

  • 我有一个从Google maps下载静态图像的应用程序,将标记放置在我想要的位置(通过将参数传入Google static maps URL来放置)。但是,我也需要能够点击标记。我想我可以将x和y坐标转换为lon/lat,然后用这种方法计算出哪个标记被点击了,但我发现这并不容易。 我知道地图的尺寸(以像素为单位),缩放级别,以及地图的中心点(以像素和lon/lat为单位),所以我跟踪了这篇博文。不