Angular 앱에서 Google 지도 설정(Pro Way) 파트 1
14338 단어 angularwebdevtutorialgooglemaps
참고: 이것은 저장소입니다. 분기 파트 1에는 이 튜토리얼의 최종 코드가 있습니다.
https://github.com/devpato/angular-google-maps-tutorial
1) 새 Angular 프로젝트를 만듭니다.
ng new angular-gmap
2) Google Maps API 키 생성here
3) 프로젝트 내부에서 index.html 파일로 이동하고 헤드 태그 내부에 다음 줄을 추가합니다.
<head>
.
.
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR-API-KEY"
type="text/javascript"></script>
</head>
4) 이제 스크립트 태그 안에 API 키를 추가하십시오.
5) Angular가 Google Maps 유형을 사용할 수 있도록 추가하려면 유형을 입력하십시오. 터미널에서 다음을 실행합니다.
npm i @types/googlemaps
6) Google 지도 유형을 사용할 준비가 되었음을 Angular에 알릴 시간입니다. tsconfig.app.json 및 tsconfig.spec.json을 열고 compilerOptions 개체 내부의 유형 배열에 googlemaps를 추가합니다.
참고: tsconfig.app.json 파일에만 넣었습니다. 어떤 사람들은 문제가 발생하여 위에서 언급한 두 파일 모두에 추가해야 합니다.
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": ["googlemaps"]
},
7) app.component.html 내부에 다음 코드를 추가합니다.
<div #mapContainer id="map"></div>
8) 지도에 CSS를 추가할 시간입니다. app.component.css 파일로 이동하여 다음을 추가합니다.
#map {
height: 500px;
width: 100%;
}
참고: 높이를 추가하지 않으면 지도가 앱에 표시되지 않습니다.
9) app.component.ts 파일에서 파일 상단의 가져오기 행은 다음과 같아야 합니다.
import { Component, AfterViewInit, ViewChild, ElementRef } from
'@angular/core';
10) 동일한 파일 내에서 ViewChild로 생성한 DOM 요소에 대한 앱 액세스 권한을 부여합니다.
@ViewChild('mapContainer', {static: false}) gmap: ElementRef;
여기서 mapContainer는 이전에 생성한 HTML 요소의 이름입니다.
11) 이제 app.component.ts 내부에 Google Maps API가 포함된 지도 변수를 만듭니다.
map: google.maps.Map;
프로젝트에 추가한 Google 지도 유형 덕분에 이 작업을 수행할 수 있습니다.
12) app.component.ts 파일에서 다음 변수를 추가합니다.
lat = 40.730610;
lng = -73.935242;
13)위도와 경도를 사용할 좌표 변수를 만들어 봅시다.
coordinates = new google.maps.LatLng(this.lat, this.lng);
14) 동일한 파일에서 다음과 같이 mapOptions 변수를 생성합니다.
mapOptions: google.maps.MapOptions = {
center: this.coordinates,
zoom: 8,
};
15) app.component.ts 내부에 mapInitializer() 함수를 생성합니다.
mapInitializer() {
this.map = new google.maps.Map(this.gmap.nativeElement,
this.mapOptions);
}
16) AfterViewInit를 사용할 시간입니다. 파일은 다음과 같아야 합니다.
...
export class AppComponent implements AfterViewInit {
...
ngAfterViewInit() {
}
}
17) ngAfterViewInit 내부에 다음 줄을 추가합니다.
ngAfterViewInit() {
this.mapInitializer();
}
마커를 추가할 시간
18) 새 변수 만들기
marker = new google.maps.Marker({
position: this.coordinates,
map: this.map,
});
19) mapInitializer() 함수에 다음 줄을 추가하여 지도에 마커를 추가합니다.
this.marker.setMap(this.map);
20) app.component.ts는 다음과 같아야 합니다.
export class AppComponent implements AfterViewInit {
title = 'angular-gmap';
@ViewChild('mapContainer', { static: false }) gmap: ElementRef;
map: google.maps.Map;
lat = 40.73061;
lng = -73.935242;
coordinates = new google.maps.LatLng(this.lat, this.lng);
mapOptions: google.maps.MapOptions = {
center: this.coordinates,
zoom: 8
};
marker = new google.maps.Marker({
position: this.coordinates,
map: this.map,
});
ngAfterViewInit() {
this.mapInitializer();
}
mapInitializer() {
this.map = new google.maps.Map(this.gmap.nativeElement,
this.mapOptions);
this.marker.setMap(this.map);
}
}
다음과 같은 내용이 표시되어야 합니다.
마커에 여러 마커 및 정보 창을 추가하려면 섹션 부분을 확인하는 것을 잊지 마십시오.
완료된 레포 프로젝트:
https://github.com/devpato/angular-google-maps-tutorial
Reference
이 문제에 관하여(Angular 앱에서 Google 지도 설정(Pro Way) 파트 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devpato/setup-google-map-in-angular-app-the-pro-way-3m9p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)