μμνκΈ° AGM νν 리μΌμ λ§λ€μμ΅λλ€ : https://angular-maps.com/guides/getting-started/
λλ μ€μΉνλ€ :
"@ angular / core": "~ 10.0.0"
κ³Ό
"@ agm / core": "^ 3.0.0-beta.0"
app.component.htmlμμ λ€μμ μΆκ°νμ΅λλ€.
app.component.tsμμ λ€μμ μΆκ°νμ΅λλ€.
export class AppComponent {
μ λͺ© = 'gbis';
μλ = 51.678418;
lng = 7.809007;
mapClick(e) {
console.log(e);
}
}
app.component.cssμμ λ€μμ μΆκ°νμ΅λλ€.
agm-map {
λμ΄ : 300px;
}
μ΄ μ±μ μ€ννλ©΄μ§λκ° μλνμ§λ§ TS νμΌ ν¨μ mapClick (e)μμμ§λλ₯Ό ν΄λ¦νλ©΄ e = "c"κ° νμλ©λλ€. λ§€κ° λ³μ eμμ μμ λ μ’νκ° μμ΅λλ€.
λμμ£ΌμΈμ!
μ΄ μμ μ λν ETA? λλ ν΄κ²° λ°©λ²?
λλ λκ°μ λ¬Έμ κ° λ°μνμ΅λλ€.
μ무λμ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λκΉ?
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €λ©΄ μ΄μ λ²μ μ μ¬μ©ν΄μΌν©λκΉ?
μ무λμ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λκΉ?
μ무λμ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λκΉ?
μ΄ λ²κ·Έλ μ€μνλ―λ‘μ§λμμ κΈ°λ³Έ μνΈ μμ©μ 무ν¨ννλ―λ‘ μ§κΈμ μ΄μ λ²μ μ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
μ무λμ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λκΉ?
μ΄ λ²κ·Έλ μ€μνλ―λ‘μ§λμμ κΈ°λ³Έ μνΈ μμ©μ 무ν¨ννλ―λ‘ μ§κΈμ μ΄μ λ²μ μ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
μ, μ΄μ λ²μ 1.1.0 (8 κ°μ μ )μ΄ μ μμ μΌλ‘ μλν©λλ€.
# 1847μ κ°λ¨ν μμ , @SebastianM μ κ²ν λκΈ°
κ°μ λ¬Έμ κ° λ°μν©λλ€. mapClickμ $ eventλ λ¬Έμμ΄ "c"λ₯Ό λ°νν©λλ€. μ΄ λ¬Έμ κ° μΈμ μμ λ μ§ μμλκΉ? μ΄μ λ²μ μΌλ‘ μ ννλ κ² μΈμ λ€λ₯Έ ν΄κ²°μ± μ΄ μμ΅λκΉ?
ν΄κ²° λ°©λ²μΌλ‘ Googleμ§λ μΈμ€ν΄μ€μ 리μ€λλ₯Ό μΆκ° ν μ μμ΅λλ€.
<agm-map [latitude]="position.lat"
[longitude]="position.lng"
[zoom]="zoom"
(mapReady)="mapReadyHandler($event)">
</agm-map>
public mapReadyHandler(map: google.maps.Map): void {
this.map = map;
this.mapClickListener = this.map.addListener('click', (e: google.maps.MouseEvent) => {
this.zone.run(() => {
// Here we can get correct event
console.log(e.latLng.lat(), e.latLng.lng());
});
});
}
public ngOnDestroy(): void {
if (this.mapClickListener) {
this.mapClickListener.remove();
}
}
λꡬλ μ§μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λκΉ?
μ§κΈμ μ΄μ λ²μ μ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.μ΄ λ²κ·Έλ μ€μνλ―λ‘μ§λμμ κΈ°λ³Έμ μΈ μνΈ μμ©μ κ±°λΆν©λλ€.
μ, μ΄μ λ²μ 1.1.0 (8 κ°μ μ )μ΄ μ μμ μΌλ‘ μλν©λλ€.
λ²μ 1.1.0μμ μλνλ κ²½μ° npm i @ agm / [email protected] λͺ λ Ήμ μ¬μ©νμμμ€.
μΈμ μΆμ λλμ?
"@ agm / core"μ λμΌν λ¬Έμ κ° μμ : "^ 3.0.0-beta.0"
@ egorkel-da14 ν΄κ²° λ°©λ²μ μλνκ³ μμ§λ§μ΄ λ©μμ§κ° λνλ©λλ€.
Uncaught TypeError: Cannot read property 'run' of undefined
this.zone.run(...)
μ ν ν λ
μ¬κΈ°μ λκ° λΉ μ‘λμ?
μ λ°μ΄νΈ : ν΄λΉ λΌμΈμ μλ΅νλ©΄ μ’νλ₯Ό μ»μ μμλ κ² κ°μ΅λλ€.
public mapReadyHandler(map: google.maps.Map): void {
this.map = map;
this.mapClickListener = this.map.addListener('click', (e: google.maps.MouseEvent) => {
console.log(e.latLng.lat(), e.latLng.lng());
});
}
@ egorkel-da14 ν΄κ²° λ°©λ²μ μλνκ³ μμ§λ§μ΄ λ©μμ§κ° λνλ©λλ€.
Uncaught TypeError: Cannot read property 'run' of undefined
this.zone.run(...)
μ ν ν λμ¬κΈ°μ λκ° λΉ μ‘λμ?
μ λ°μ΄νΈ : ν΄λΉ λΌμΈμ μλ΅νλ©΄ μ’νλ₯Ό μ»μ μμλ κ² κ°μ΅λλ€.
public mapReadyHandler(map: google.maps.Map): void { this.map = map; this.mapClickListener = this.map.addListener('click', (e: google.maps.MouseEvent) => { console.log(e.latLng.lat(), e.latLng.lng()); }); }
μ :)
μμ±μμ NgZone μλΉμ€λ₯Ό μ£Όμ
ν΄μΌν©λλ€.
constructor(private zone: NgZone) {}
κ°λ λ³κ²½ κ°μ§μ μ μ ν μμ
μ μν΄μ΄ μ€μ΄ νμν©λλ€ (μ μ ν λ·° μ
λ°μ΄νΈλ₯Ό μν΄).
ν
event.latLng.lat () νΈμΆ μλ
markerDragEnd ($ event : any) {
console.log ($ event.latLng.lat (), $ event.latLng.lng ());
}
addPin κΈ°λ₯κ³Ό λμΌν λ¬Έμ κ° μμ§λ§ μ¬μ©μ λ‘μΌμΌμ λ°λΌμ§λλ₯Ό λ²μνλ €λ©΄ λ²μ 3.0.0μ μ¬μ©ν΄μΌν©λλ€. κ·Έλμ λ²μμ΄μλ λ²μ μ΄κ³ ν μΆκ° κΈ°λ₯μ΄ μ΄μ μ κ²μλμλμ§ μ¬λΆλ₯Ό μμμΌν©λλ€. (λ²μ 1.1.0μμλ λ²μμ μ¬μ©ν μ μκΈ° λλ¬Έμ)
λꡬλ μ§μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λκΉ?
μ§κΈμ μ΄μ λ²μ μ μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.μ΄ λ²κ·Έλ μ€μνλ―λ‘μ§λμμ κΈ°λ³Έμ μΈ μνΈ μμ©μ κ±°λΆν©λλ€.
μ, μ΄μ λ²μ 1.1.0 (8 κ°μ μ )μ΄ μ μμ μΌλ‘ μλν©λλ€.
λ²μ 1.1.0μμ μλνλ κ²½μ° npm i @ agm / [email protected] λͺ λ Ήμ μ¬μ©νμμμ€.
Angular 10μΌλ‘?
ν΄κ²° λ°©λ²μΌλ‘ Googleμ§λ μΈμ€ν΄μ€μ 리μ€λλ₯Ό μΆκ° ν μ μμ΅λλ€.
<agm-map [latitude]="position.lat" [longitude]="position.lng" [zoom]="zoom" (mapReady)="mapReadyHandler($event)"> </agm-map>
public mapReadyHandler(map: google.maps.Map): void { this.map = map; this.mapClickListener = this.map.addListener('click', (e: google.maps.MouseEvent) => { this.zone.run(() => { // Here we can get correct event console.log(e.latLng.lat(), e.latLng.lng()); }); }); } public ngOnDestroy(): void { if (this.mapClickListener) { this.mapClickListener.remove(); } }
μ΄ μ½λμ κ°μ¬λ립λλ€. λ§€μ° μ μ©ν©λλ€. μ’μ ν루 λμΈμ.
κ°μ₯ μ μ©ν λκΈ
ν΄κ²° λ°©λ²μΌλ‘ Googleμ§λ μΈμ€ν΄μ€μ 리μ€λλ₯Ό μΆκ° ν μ μμ΅λλ€.