我是Angular的新手,我有一个Web应用程序,可以显示全屏谷歌地图。我想在Google地图布局中添加一个“注销”按钮(不作为标头)。
我知道使用javascript Google Maps API很容易实现,例如:
var Logout = document.getElementById('Logout');
map.controls[google.maps.ControlPosition.TOP_RIGHT].push(Logout);
但是使用 AGM - Angular Google Maps,我没有找到如何实现。
现在我有了这个:
map.component.html
<button id="Logout" [(ngModel)]="logoutButton" class="toggle-button controls button" (click)="logout()">Logout</button>
<agm-map [latitude]="lat" [longitude]="lng" [zoom]=12 [mapTypeControl]="true" (boundsChange)="centerChanged($event)" (idle)="loadParkings()" >
<agm-marker *ngFor="let park of parkings" [latitude]="park.location[0]" [longitude]="park.location[1]"></agm-marker>
</agm-map>
map.component.ts
import {GoogleMapsAPIWrapper} from '@agm/core';
declare var google: any;
@Component({
selector: 'app-map',
templateUrl: './map.component.html',
styleUrls: ['./map.component.css']
})
export class MapComponent implements OnInit {
lat: number;
lng: number;
map: any;
logoutButton: any;
constructor(
public mapApi: GoogleMapsAPIWrapper) {}
ngOnInit(): void {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(position => {
this.lat = position.coords.latitude;
this.lng = position.coords.longitude;
});
} else {
this.lat = 47.2275654;
this.lng = -1.3849729;
}
}
logout() {
this.authenficationService.logout();
this.router.navigate(['/login']);
}
}
AgmCoreModule.forRoot({ libraries: ['places'] })
。这将在window对象上添加google.maps.places
。 - Brampage.controls
? - Iandocument.getElementById()
将其添加到我的地图控件中,以向本地TypeScript Google Maps库添加自定义控件。 - Patronaut