angular - 使用 Angular 在谷歌地图上更改 agm-circle 的颜色
问题描述
我需要通过按下三个不同的按钮来更改两个圆圈的颜色,称为红色、蓝色和绿色。
我有:
app.module.ts
import { NgModule } from '@angular/core';
import { AgmCoreModule } from '@agm/core';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
// Imposta qui le tue api key
AgmCoreModule.forRoot({apiKey: 'GOOGLE_MAPS_API'}),
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'map server';
lat: number = 45.464198;
lng: number = 9.190545;
lat2: number = 45.464198;
lng2: number = 9.190545;
}
app.component.html
{{title}}
<agm-map [latitude]="lat" [longitude]="lng">
<agm-marker [latitude]="lat" [longitude]="lng" >
</agm-marker>
<agm-circle [latitude]="lat" [longitude]="lng"
[radius]="5000"
[fillColor]="'red'">
</agm-circle>
<agm-circle [latitude]="lat2" [longitude]="lng2"
[radius]="7000"
[fillColor]="'green'">
</agm-circle>
</agm-map>
和
app.component.css
agm-map
{
height: 600px;
}
解决方案
您可以通过对.html
文件和.ts
文件进行多次更改来做到这一点
首先,我们需要在.html
文件中制作 3 个按钮,如下所示
<input type="button" value="Red" (click)="onColor('red')">
<input type="button" value="Blue" (click)="onColor('blue')">
<input type="button" value="Green" (click)="onColor('green')">
现在您需要在.ts
文件中创建函数
export class AppComponent {
circleColor: string;
title = 'map server';
lat: number = 45.464198;
lng: number = 9.190545;
lat2: number = 45.464198;
lng2: number = 9.190545;
onColor(color){
circleColor = color;
}
}
现在最后你需要对你的agm-circle
比如做一些小的改变:
<agm-map [latitude]="lat" [longitude]="lng">
<agm-marker [latitude]="lat" [longitude]="lng" >
</agm-marker>
<agm-circle [latitude]="lat" [longitude]="lng"
[radius]="5000"
[fillColor]="circleColor ">
</agm-circle>
<agm-circle [latitude]="lat2" [longitude]="lng2"
[radius]="7000"
[fillColor]="circleColor ">
</agm-circle>
</agm-map>
我们不会直接给出颜色,而是从.ts
填充中传递它。
推荐阅读
- javascript - setState 是否需要一些时间来执行?
- r - 如何找到在分类变量中具有两个组之一的连续变量的 SD 和均值
- java - 如何使用 mockito 模拟泛型方法?
- google-maps - 地理编码 API 发送不一致的结果
- javascript - 动态加载不在 type="module" 的脚本标签中的模块?
- sql-server - 使用 T-SQL 查找与 SSRS 报告关联的存储过程
- google-drive-api - 带有谷歌驱动器的鸭子(CyberDuck CLI)
- antd - 如何从父级更改日历组件中的当前月份?
- css - 使用 shinythemes 包更改单个闪亮小部件元素的 CSS 样式
- python - 使用 numpy where 找到数组的最小值