Angular-google-maps: λͺ¨λ“ˆμ„ 찾을 수 μ—†μŒ: '@agm/core/services/google-maps-types'

에 λ§Œλ“  2019λ…„ 09μ›” 20일  Β·  54μ½”λ©˜νŠΈ  Β·  좜처: SebastianM/angular-google-maps

κ°‘μžκΈ° λ‹€μŒ λ¬Έμ œμ— μ§λ©΄ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“ˆμ„ 찾을 수 μ—†μŒ: 였λ₯˜: '@agm/core/services/google-maps-types'λ₯Ό 확인할 수 μ—†μŠ΅λ‹ˆλ‹€.

νŒ¨ν‚€μ§€.json

"@agm/core": "^1.0.0",
"@agm/js-marker-clusterer": "^1.0.0"

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@jimmykane λ‹Ήμ‹ μ˜ package.json이 @agm/core: "^1.0.0-beta.7" $ κ°€ μ•„λ‹Œ $ "@agm/core: "1.0.0-beta.7" λ₯Ό μ§€μ •ν•˜λŠ”μ§€ 확인해야 ν•©λ‹ˆλ‹€. μ΄λŠ” λ™μΌν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ…ΈμΆœν•˜μ§€ μ•ŠλŠ” 1.0.0 λ¦΄λ¦¬μŠ€κ°€ μžˆμŒμ„ μ˜λ―Έν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

μš°λ¦¬λŠ” 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ…Έλ ₯ν•˜κ³  μžˆμ§€λ§Œ ν•΄κ²°ν•΄μ•Ό ν•  λ‹€λ₯Έ μˆ˜μž…ν’ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  54 λŒ“κΈ€

여기도 λ§ˆμ°¬κ°€μ§€

node_modulesλ₯Ό μ‚­μ œν•˜κ³  npm install λ₯Ό λ‹€μ‹œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@doom777 μ—¬λŸ¬λ²ˆ ν•΄λ΄€μŠ΅λ‹ˆλ‹€ . 뢈운.

μ•„λž˜ μƒ˜ν”Œ μ½”λ“œ μŠ€λ‹ˆνŽ«,

import { ZoomControlOptions, ControlPosition, MapTypeControlOptions, FullscreenControlOptions } from '@agm/core/services/google-maps-types';
mapTypeControlOptions:MapTypeControlOptions = {
    position: ControlPosition.LEFT_BOTTOM
    }

  fullscreenControlOptions: FullscreenControlOptions = {
    position : ControlPosition.LEFT_CENTER
  };

흠, stackblitzλŠ” μ§€κΈˆ 자체적인 문제λ₯Ό κ²ͺκ³  μžˆμŠ΅λ‹ˆλ‹€. λ²ˆμ‹μ— μ„±κ³΅ν•˜μ§€ λͺ»ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ—¬κΈ° λ‚΄κ°€ μ‹œλ„ν•˜λŠ” 것이 μžˆμŠ΅λ‹ˆλ‹€ :

ng new agm-test2
cd agm-test2
npm install @agm/core
code .

AppModule에 AgmCoreModule.forRoot μΆ”κ°€

ν…œν”Œλ¦Ώ: <agm-map [mapTypeControl]="true" [mapTypeControlOptions]="mapTypeControlOptions" [latitude]="0" [longitude]="0"></agm-map>

μš”μ†Œ:

import { Component } from '@angular/core';
import { MapTypeControlOptions, ControlPosition } from '@agm/core/services/google-maps-types';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styles: ['agm-map{height:300px}']
})
export class AppComponent {

  mapTypeControlOptions: MapTypeControlOptions = {
    position: ControlPosition.LEFT_BOTTOM
  };
}

κ²°κ³Ό:
image

@doom777 μž‘λ™ν•˜μ§€ μ•ŠλŠ” μ˜ˆλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. https://stackblitz.com/edit/angular-krqwfi?file=src%2Fapp%2Fapp.module.ts
λ‚΄κ°€ ν•œ λͺ¨λ“  것은 @agm/core λ₯Ό μΆ”κ°€ν•˜κ³  FitBoundsServiceλ₯Ό κ°€μ Έμ˜€λ €κ³  μ‹œλ„ν•œ κ²ƒλΏμž…λ‹ˆλ‹€.

λ‚˜λŠ” 단지 μ–»κ³ μžˆλ‹€

μž‘νžˆμ§€ μ•ŠμŒ(약속 쀑) 였λ₯˜: κ΅¬μ„±μ—μ„œ 사전 섀정이 μ§€μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
Object.config(webcontainer.5f16b010d2745c788a2.js:15)
t.configμ—μ„œ(webcontainer.5f16b010d2745c788a2.js:15)
Beμ—μ„œ (preview-4858aaa60d96ac0657bab.js:1)
미리보기-4858aaa60d96ac06μ—μ„œ

57bab.js:1

이것은 stackblitz 였λ₯˜ 인 것 κ°™μŠ΅λ‹ˆλ‹€

당신은 λ­”κ°€λ₯Ό μ‹œλ„ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

  1. 이 라이브러리λ₯Ό 볡제
  2. packages\core\map-types.ts 둜 이동
  3. 내보내기 λͺ©λ‘μ— ControlPosition μΆ”κ°€
  4. yarn build 둜 라이브러리 ꡬ좕
  5. npm link 와 라이브러리 μ—°κ²°(이전에 npm 링크λ₯Ό μ‚¬μš©ν•œ 적이 μ—†λŠ” 경우 Google μžμŠ΅μ„œ)
  6. 그것이 μž‘λ™ν•˜κΈ° μ‹œμž‘ν•˜λŠ”μ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€

λ‚΄ 홍보 https://github.com/SebastianM/angular-google-maps/pull/1730 을 μ‹œλ„ν•˜κ³  λ¬Έμ œκ°€ ν•΄κ²°λ˜λŠ”μ§€ μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

ControlPosition 및 기타 κ°€μ Έμ˜€κΈ°λ₯Ό '@agm/core'둜 λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€.

@doom777 #1730을 볡제, λΉŒλ“œ 및 ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€. μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

@doom777 이것은 ng-packagerκ°€ 물건을 νŒ¨ν‚€μ§•ν•˜λŠ” 방식 λ•Œλ¬ΈμΈ 것 κ°™μŠ΅λ‹ˆλ‹€.

μ‚¬λžŒλ“€μ΄ 이 κ°€μ Έμ˜€κΈ°λ₯Ό ν•œ 번 μ—…λ°μ΄νŠΈν•œ λ‹€μŒ #1648에 λŒ€ν•΄ μ—…λ°μ΄νŠΈν•˜λ„λ‘ ν•˜λŠ” λŒ€μ‹  Google 지도 κ°€μ Έμ˜€κΈ°λ₯Ό μ²˜λ¦¬ν•  #1648을 κ°€μ Έμ˜€λŠ” 데 집쀑해야 ν•©λ‹ˆκΉŒ? (@agm/coreλ₯Ό 톡해 κ°€μ Έμ˜€μ§€ μ•Šκ³  λŒ€μ‹  @agm/core/{directives,services} μ—μ„œ κ°€μ Έμ˜€λŠ” μ§€μ‹œλ¬Έ/μ„œλΉ„μŠ€μ— #1730에 λŒ€ν•œ λ³€κ²½ 사항이 ν•„μš”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λΆ„λͺ…νžˆ ng-packagr 은 #1648이 λ™μΌν•œ ν‘œλ©΄μ„ κΉ¨λŠ” API ν‘œλ©΄κ³Ό κ΄€λ ¨ν•˜μ—¬ 잠재적으둜 μ€‘μš”ν•œ λ³€κ²½ μ‚¬ν•­μ΄μ—ˆμŠ΅λ‹ˆλ‹€(Google 지도 μœ ν˜• κ°€μ Έμ˜€κΈ°).

이 λͺ¨λ“ˆμ— λŒ€ν•œ ng-packagr λ³€κ²½ 사항인 #1731을 μΆ”κ°€ν–ˆμ§€λ§Œ @agm/core/services/google-maps-types ( @agm/core/services λ˜λŠ” @agm/core/directives 포함)κ°€ μ•„λ‹Œ $ @agm/core/* μ—μ„œ κ°€μ Έμ˜€κΈ°λ₯Ό μ²˜λ¦¬ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. @agm/core/directives )

@agm/core/services/google-maps-typesμ—μ„œ {google}을(λ₯Ό) κ°€μ Έμ˜€λ €κ³  ν•˜λ©΄ 이 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. λ˜ν•œ node_modulesλ₯Ό μ‚­μ œν•˜κ³  npm install을 μ—¬λŸ¬ 번 λ‹€μ‹œ μ‹€ν–‰ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. 해결책을 찾도둝 λ„μ™€μ£Όμ„Έμš”.

@pasqualepalmaccio ν”„λ‘œλ•μ…˜μ΄λΌλ©΄ 1.0.0-beta.7둜 λŒμ•„κ°€μ„Έμš”. 그렇지 μ•ŠμœΌλ©΄ μˆ˜μ • 사항이 릴리슀될 λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦¬μ„Έμš”.

μ—…λ°μ΄νŠΈ ν›„ λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

@jimmykane λ‹Ήμ‹ μ˜ package.json이 @agm/core: "^1.0.0-beta.7" $ κ°€ μ•„λ‹Œ $ "@agm/core: "1.0.0-beta.7" λ₯Ό μ§€μ •ν•˜λŠ”μ§€ 확인해야 ν•©λ‹ˆλ‹€. μ΄λŠ” λ™μΌν•œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ…ΈμΆœν•˜μ§€ μ•ŠλŠ” 1.0.0 λ¦΄λ¦¬μŠ€κ°€ μžˆμŒμ„ μ˜λ―Έν•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

μš°λ¦¬λŠ” 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ…Έλ ₯ν•˜κ³  μžˆμ§€λ§Œ ν•΄κ²°ν•΄μ•Ό ν•  λ‹€λ₯Έ μˆ˜μž…ν’ˆμ΄ μžˆμŠ΅λ‹ˆλ‹€.

μš°λ¦¬λŠ” μˆ˜μ • 사항이 μžˆμŠ΅λ‹ˆλ‹€. μž„μ‹œ 문제λ₯Ό λ³‘ν•©ν•˜λŠ” κ²ƒλΏμž…λ‹ˆλ‹€.

μ—¬μ „νžˆ 이 λ¬Έμ œκ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. 이 μˆ˜μ • 사항이 λ³‘ν•©λ˜μ—ˆμŠ΅λ‹ˆκΉŒ?

μ•„λ‹ˆμš”, λ‚΄ PR을 μŠΉμΈν•  λ‹€λ₯Έ κΈ°μ—¬μžλ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€ :(

이 μˆ˜μ • 사항이 λ³‘ν•©λ˜μ—ˆμŠ΅λ‹ˆκΉŒ?

μˆ˜μ • μž‘μ—…μ„ ν•˜λŠ” ν•œ 1.0.0 버전을 되돌릴 수 μžˆμŠ΅λ‹ˆκΉŒ?

κ°€μ Έμ˜€λ €κ³  해도 λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

'@agm/core/services/google-maps-types'μ—μ„œ { ZoomControlOptions, ControlPosition, ZoomControlStyle } κ°€μ Έμ˜€κΈ°;

μˆ˜μ • μ•Œλ¦Όμ„ λ°›μœΌλ €λ©΄ κ°€μž…ν•˜κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€. μ§€κΈˆμ€ ν•˜λ“œ μ½”λ”©λœ 맀직 값을 μ‚¬μš©ν•©λ‹ˆλ‹€.

μ§€κΈˆμ€ 1.0.0-beta.7을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
1.0.1이 곧 λ‚˜μ˜΅λ‹ˆλ‹€. Sebastian Holstein에 연락을 μ‹œλ„ν•˜κ³  μžˆμ§€λ§Œ 운이 μ—†μŠ΅λ‹ˆλ‹€.

μ•ˆλ…• @SebastianM waky waky .... 제발 이걸 λΆ€λ”ͺ히자

1.0.0-beta.7은 IVY와 μ€‘λ‹¨λ˜λ―€λ‘œ ν˜„μž¬ 이 νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λ²”ν”„ @SebastianM 이 리포지토리λ₯Ό 계속 μœ μ§€ν•˜μ‹­μ‹œμ˜€. λ³‘ν•©ν•˜κ³  ν•΄μ œν•©λ‹ˆλ‹€.

1인 μž‘μ—…μ„ μœ„ν•΄ 우리 λͺ¨λ‘λŠ” μ—¬κΈ°μ—μ„œ κ³ κ΅°λΆ„νˆ¬ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ–΄μ©Œλ©΄ μš°λ¦¬λŠ” 그것을 ν¬ν¬ν•΄μ•Όν•©λ‹ˆκΉŒ? λΆ„λͺ…νžˆ μΆ©λΆ„νžˆ ppl이 이 νŒ¨ν‚€μ§€λ₯Ό μ‚¬μš©ν•˜λŠ” 데 관심이 μžˆμŠ΅λ‹ˆλ‹€.

λ˜λŠ”: https://drewdevault.com/2018/12/04/How-to-abandon-a-FLOSS-project.html
λ˜λŠ” 심지어: https://www.codeshelter.co/

μ•„λ§ˆλ„ Sebastian은 μ—¬κΈ°μ—μ„œ 곡동 μž‘μ—…μ— μ˜¬λ°”λ₯Έ κΆŒν•œμ„ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
그리고 μ§œμž” λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

2019λ…„ 11μ›” 2일(ν† ) 12:37 Lukas Neumann, μ•Œλ¦Ό @github.com μž‘μ„±:

μ–΄μ©Œλ©΄ μš°λ¦¬λŠ” 그것을 ν¬ν¬ν•΄μ•Όν•©λ‹ˆκΉŒ? λΆ„λͺ…νžˆ μΆ©λΆ„νžˆ ppl이 μ‚¬μš©ν•˜λŠ” 데 관심이 μžˆμŠ΅λ‹ˆλ‹€.
이 νŒ¨ν‚€μ§€.

λ˜λŠ”: https://drewdevault.com/2018/12/04/How-to-abandon-a-FLOSS-project.html
λ˜λŠ” 심지어: https://www.codeshelter.co/

β€”
당신이 μ–ΈκΈ‰λ˜μ—ˆκΈ° λ•Œλ¬Έμ— 이것을 λ°›λŠ” κ²ƒμž…λ‹ˆλ‹€.
이 이메일에 직접 λ‹΅μž₯ν•˜κ³  GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/SebastianM/angular-google-maps/issues/1729?email_source=notifications&email_token=AAJVX45GD4L46U7JGGD7FMDQRVQ7FA5CNFSM4IYS2YRKYY3PNVWWK3TUL52HS4DFXWEX
λ˜λŠ” ꡬ독 μ·¨μ†Œ
https://github.com/notifications/unsubscribe-auth/AAJVX45ENBM22GNL6UEF26TQRVQ7FANCNFSM4IYS2YRA
.

λ‚˜λŠ” μ–»κ³ μžˆλ‹€

Module not found: Error: Can't resolve '@agm/core/services' μ„€μΉ˜ν–ˆλŠ”λ°λ„!!

@agm/core: 1.0.0-베타.3

1.0.0-beta.7둜 μ—…κ·Έλ ˆμ΄λ“œλ₯Ό μ‹œλ„ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

μ–΄λ–»κ²Œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆκΉŒ? -> npm install 'agm/core 1.0.0-beta.7' ?

음, npm install @agm/[email protected] λ˜λŠ” npm update @agm/core

μ—…λ°μ΄νŠΈ 없이 ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” μ‹œλ„ν–ˆλ‹€

import { GoogleMapsAPIWrapper } from '@agm/core';

μ„±κ³΅μ μœΌλ‘œ μž‘λ™ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

확인. λ˜ν•œ GOogleMapsAPIWrapperλ₯Ό μ‚¬μš©ν•΄μ„œλŠ” μ•ˆ λ©λ‹ˆλ‹€.

μ™œ μ„€λͺ…ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? @doom777

μ™œ μ„€λͺ…ν•΄ μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? @doom777

GoolgeMapsAPIWrapperλŠ” 라이브러리의 μ†ŒλΉ„μžκ°€ μ•„λ‹ˆλΌ λ‚΄λΆ€μ μœΌλ‘œλ§Œ λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ μ‚¬μš©ν•˜κΈ° μœ„ν•œ 것이라고 μƒκ°ν•©λ‹ˆλ‹€. κΈ°λ³Έ ꡬ성 μš”μ†Œμ— λŒ€ν•œ μž…λ ₯ 및 이벀트 바인딩을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. λͺ¨λ“ˆμ—μ„œ AgmCoreModule을 κ°€μ Έμ˜€κ³  forRootλ₯Ό κ°€μ Έμ˜€κΈ° μ„Ήμ…˜μ—μ„œ κ°€μ Έμ˜΅λ‹ˆλ‹€.

Google 지도 API에 직접 μ•‘μ„ΈμŠ€ν•˜λ €λ©΄ λ‹€μŒκ³Ό 같이 κ΅¬μ„±μš”μ†Œμ˜ (mapReady)μ—μ„œ 지도λ₯Ό κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

<agm-map [streetViewControl]="false" [latitude]="lat" [longitude]="lng" [styles]="mapStyles" [zoom]="defaultZoom" [zoomControlOptions]="zoomControlOptions" (mapReady)="mapReady($event)" (zoomChange)="zoomChanged($event)"> </agm-map>

ꡬ성 μš”μ†Œ μ½”λ“œμ—μ„œ:

mapReady(map: google.maps.Map) { this.map = map; }

@types/googlemapsλ₯Ό μ„€μΉ˜ν•˜μ—¬ 지도λ₯Ό μž…λ ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@νˆ¬λ§ˆλΉ…
GoogleMapsApiWrapperλŠ” λ‚΄λΆ€μ μœΌλ‘œ 라이브러리 λ˜λŠ” ν™•μž₯을 μœ„ν•œ κ²ƒμž…λ‹ˆλ‹€. Angular의 선언적 μŠ€νƒ€μΌμ— μœ„λ°°λ˜λŠ” λͺ…λ Ήν˜•μž…λ‹ˆλ‹€. GMAW둜 ν•  수 μžˆλŠ” λŒ€λΆ€λΆ„μ˜ μž‘μ—…μ€ agm-mapκ³Ό κ·Έ μžμ‹μ˜ μž…λ ₯ 및 좜λ ₯으둜 μˆ˜ν–‰ν•  수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

@ermcgrat 적어도 #1648이 병합될 λ•ŒκΉŒμ§€ "@agm/core"μ—μ„œ λŒ€λΆ€λΆ„μ˜ μœ ν˜•μ„ κ°€μ Έμ˜¬ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

κ³ λ§ˆμ›Œ μ–˜λ“€μ•„ .. 많이 κ³ λ§ˆμ›Œ 😍😍😍😍😍

μ•ˆλ…•ν•˜μ„Έμš” 이 λ¬Έμ œκ°€ μ’…λ£Œλœ μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?
1.1.0은 그것을 μˆ˜μ •ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€

@jimmykane 버전 1.1.0을 μ‚¬μš©ν•˜λ©΄ λ‹€μŒμ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

import { ControlPosition } from '@agm/core'

μ•ˆλ…•ν•˜μ„Έμš” μ—¬λŸ¬λΆ„,

1.1.0도 μ €λ₯Ό μœ„ν•΄ μˆ˜μ •ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 아직도 이것을 κ°€μ§€κ³ μžˆλ‹€ :
Module '"../../../../node_modules/@agm/core/agm-core"' has no exported member 'MapTypeControlStyle'
λ‚΄λ³΄λƒˆμŒμ—λ„ λΆˆκ΅¬ν•˜κ³  :
image

λ‚˜λŠ” 이미 node_modules와 package-lock을 μ‚­μ œν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ 더 λ‚˜μ•„μ§€μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€ ...

이 였λ₯˜λ„ 계속 λ°œμƒν•©λ‹ˆλ‹€.
Module not found: Error: Can't resolve '@agm/core/services/google-maps-types'
예λ₯Ό λ“€μ–΄ google.maps.geometry.spherical.computeArea() 에 μ•‘μ„ΈμŠ€ν•˜λ €κ³  ν•©λ‹ˆλ‹€. @types/googlemaps λ₯Ό μ„€μΉ˜ν•œ λ‹€μŒ import {} from 'googlemaps'; λ₯Ό μ„€μΉ˜ν•˜μ—¬ 이λ₯Ό 달성할 수 μžˆμ§€λ§Œ IntelliJ IdeaλŠ” 이λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” κ°€μ Έμ˜€κΈ°λ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€. _Optimize imports_ 그런 λ‹€μŒ 이 쀄을 μ‚­μ œν•˜κ³  μ½”λ“œλ₯Ό λ‚˜λˆ•λ‹ˆλ‹€.
이거 κ³ μ³μ£Όμ„Έμš”? πŸ™πŸ»

'@agm/core'μ—μ„œ { GoogleMapsAPIWrapper } κ°€μ Έμ˜€κΈ°λ₯Ό μ‹œλ„ν•˜μ„Έμš”.

'@agm/core/service'μ—μ„œ { GoogleMapsAPIWrapper }λ₯Ό κ°€μ Έμ˜€λŠ” λŒ€μ‹ ;

이것은 1.1.0μ—μ„œ 아직 μˆ˜μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ—΄κ³  μž‘μ—…ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

이 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ‹€λ₯Έ λ²„μ „μœΌλ‘œ μ‹œλ„ν–ˆμ§€λ§Œ 였λ₯˜κ°€ 남아 μžˆμŠ΅λ‹ˆλ‹€ ...

이 였λ₯˜μ— "μ—¬μ „νžˆ" μ§λ©΄ν•˜κ³  μžˆλŠ” λͺ¨λ“  μ‚¬λžŒλ“€μ„ μœ„ν•΄ κΉŠμ€ κ°€μ Έμ˜€κΈ°λ₯Ό μˆ˜ν–‰ν•˜μ§€ 말고 얕은 κ°€μ Έμ˜€κΈ°λ₯Ό μˆ˜ν–‰ν•˜μ‹­μ‹œμ˜€.

μ•ˆλ…•ν•˜μ„Έμš” @doom777 이 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆκΉŒ?

예, μƒˆ 3.0.0 버전을 μ‚¬μš©ν•˜λŠ” 경우 독점 Google μœ ν˜•μ„ 더 이상 νŒ¨ν‚€μ§•ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ κ°€μ Έμ˜€κΈ°λ₯Ό μ™„μ „νžˆ μ œκ±°ν•˜μ‹­μ‹œμ˜€. 1.1.0을 μ‚¬μš©ν•˜λŠ” 경우 lib λ‚΄λΆ€κ°€ μ•„λ‹Œ @agm/core μ—μ„œ μœ ν˜•μ„ κ°€μ Έμ˜€κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

μ—¬κΈ°μ„œ μ’€ λ„μ™€μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

이제 AGM이 QueryList mapControls: QueryList<AgmMapControl>; λ₯Ό 얻을 수 μžˆμŒμ„ μ•Œμ•˜μŠ΅λ‹ˆλ‹€.

이제 μš°λ¦¬λŠ” 무엇을 ν•©λ‹ˆκΉŒ?

이전:

 public mapTypeControlOptions: MapTypeControlOptions = {
    // mapTypeIds: [MapTypeId.HYBRID, MapTypeId.ROADMAP, MapTypeId.SATELLITE, MapTypeId.TERRAIN],
    mapTypeIds: ['hybrid', 'roadmap', 'satellite', 'terrain'],
    position: ControlPosition.LEFT_TOP,
    style: 0
  };

그리고 ν…œν”Œλ¦Ώμ—μ„œ:

<agm-map *ngIf="activitiesMapData.length > 0"
             [mapTypeId]="user && user.settings ? user.settings.mapSettings.mapType : 'roadmap'"
             (mapTypeIdChange)="changeMapType($event)"
             [fullscreenControl]="true"
             [mapTypeControl]="true"
             [scaleControl]="true"
             [rotateControl]="true"
             [zoomControl]="true"
             [gestureHandling]="'cooperative'"
             [scrollwheel]="null"
             [mapTypeControlOptions]="mapTypeControlOptions"
             [zoomControlOptions]="zoomControlOptions"
             [rotateControlOptions]="rotateControlOptions"
             [tilt]="45"
             [controlSize]="32"
             [disableDefaultUI]="true"
             [styles]="getStyles(theme)"
             [streetViewControl]="false">

음, μΆ”κ°€ 토둠을 μœ„ν•΄ λΆˆν™”λ₯Ό μΌμœΌν‚€μ§€λ§Œ 기본적으둜

<agm-map *ngIf="activitiesMapData.length > 0"
             [mapTypeId]="user && user.settings ? user.settings.mapSettings.mapType : 'roadmap'"
             (mapTypeIdChange)="changeMapType($event)"
             [gestureHandling]="'cooperative'"
             [scrollwheel]="null"
             [mapTypeControlOptions]="mapTypeControlOptions"
             [zoomControlOptions]="zoomControlOptions"
             [rotateControlOptions]="rotateControlOptions"
             [tilt]="45"
             [controlSize]="32"
             [disableDefaultUI]="true"
             [styles]="getStyles(theme)"
             [streetViewControl]="false">
   <agm-fullscreen-control></agm-fullscreen-control>
   <agm-scale-control></agm-scale-control>
   <agm-map-type-control [style]="style" [mapTypeIds]="mapTypeIds" [position]="position"></agm-map-type-control>

@doom777 λ‘œμ €. 이것이 거기에 μžˆλ‹€λŠ” 것을 λ³΄μ•˜κ³  κ°€μž…ν• μ§€ μ—¬λΆ€λ₯Ό κΆκΈˆν•΄ν–ˆμŠ΅λ‹ˆλ‹€ :-D

λ‚΄κ°€ λ‹Ήμ‹ μ˜ 쑰언을 μ‹œλ„ν•˜μž. λ‚˜λŠ” 그듀이 μ§€κΈˆ μš”μ†ŒμΈμ§€ λͺ°λžμŠ΅λ‹ˆλ‹€. 훨씬 λ‚«λ‹€

예, μƒˆ 3.0.0 버전을 μ‚¬μš©ν•˜λŠ” 경우 독점 Google μœ ν˜•μ„ 더 이상 νŒ¨ν‚€μ§•ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ κ°€μ Έμ˜€κΈ°λ₯Ό μ™„μ „νžˆ μ œκ±°ν•˜μ‹­μ‹œμ˜€. 1.1.0을 μ‚¬μš©ν•˜λŠ” 경우 lib λ‚΄λΆ€κ°€ μ•„λ‹Œ @agm/core μ—μ„œ μœ ν˜•μ„ κ°€μ Έμ˜€κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @doom777 ν”„λ‘œμ νŠΈλ₯Ό μ—…λ°μ΄νŠΈν•œ 후에도 μ—¬μ „νžˆ λͺ‡ 가지 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

ERROR in node_modules/@agm/js-marker-clusterer/services/google-clusterer-types.d.ts:1:60 - error TS2307: Cannot find module '@agm/core/services/google-maps-types' or its corresponding type declarations.

1 import { GoogleMap, LatLngBounds, Marker, MVCObject } from '@agm/core/services/google-maps-types';

κΉŠμ€ κ°€μ Έμ˜€κΈ°λ₯Ό ν•˜μ§€ λ§λΌλŠ” 쑰언을 λ“£κ³  μ‹Άμ§€λ§Œ λΆˆν–‰νžˆλ„ @agm/js-marker-clustererμ—μ„œλŠ” μ—¬μ „νžˆ κ·Έλ ‡μŠ΅λ‹ˆλ‹€. λ‚΄κ°€ λ­”κ°€λ₯Ό λ†“μΉ˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

μ‚¬μš©λœ 버전은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

"@agm/core": "3.0.0-beta.0",
"@agm/js-marker-clusterer": "^1.1.0",

미리 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

버전이 μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 각도 10을 μ‚¬μš©ν•˜λŠ” 경우 @agm/[email protected] 및 @agm/[email protected] λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.
Angular 9 및 이전 버전을 μ‚¬μš©ν•˜λŠ” 경우 @agm/[email protected] 및 @agm/[email protected] λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

버전이 μΌμΉ˜ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 각도 10을 μ‚¬μš©ν•˜λŠ” 경우 @agm/[email protected] 및 @agm/[email protected] λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€.
Angular 9 및 이전 버전을 μ‚¬μš©ν•˜λŠ” 경우 @agm/[email protected] 및 @agm/[email protected] λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

이것은 νš¨κ³Όκ°€ μžˆμ—ˆλ‹€. ν•˜μ§€λ§Œ λ‹€μŒμ—μ„œ μ—…λ°μ΄νŠΈν•΄μ•Ό ν–ˆμŠ΅λ‹ˆλ‹€.

import { AgmJsMarkerClustererModule } from '@agm/js-marker-clusterer';

μ—κ²Œ:

import { AgmMarkerClustererModule } from '@agm/markerclusterer'

λ‚΄ λͺ¨λ“ˆμ—μ„œ. μ–΄λ–€ 이유둜 [streetViewControl] 및 [zoomControl] 이(κ°€) μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. 그것듀을 μ œκ±°ν•œ ν›„μ—λŠ” μ •μƒμ μœΌλ‘œ μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 속성에 λŒ€ν•΄ λ³€κ²½λœ 사항이 있으면 λ¬Έμ„œμ—μ„œ ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€.

κ·Έ 외에도 @agm/markerclusterer κ΄€λ ¨ λ¬Έμ„œκ°€ μ΅œλŒ€ν•œ 빨리 μ—…λ°μ΄νŠΈλ  수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

μ˜³μ€. μ œμ–΄ ν•˜μœ„ μš”μ†Œλ₯Ό μœ„ν•΄ μ œμ–΄ μ˜΅μ…˜μ΄ μ œκ±°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰