çªç¶ç§ã¯æ¬¡ã®åé¡ã«çŽé¢ããŠããŸãã
ã¢ãžã¥ãŒã«ãèŠã€ãããŸããïŒãšã©ãŒïŒã@ agm / core / services / google-maps-typesãã解決ã§ããŸãã
Package.json
"@ agm / core"ïŒ "^ 1.0.0"ã
"@ agm / js-marker-clusterer"ïŒ "^ 1.0.0"
ãã£ã¡ãäžç·
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 .
AgmCoreModule.forRootãAppModuleã«è¿œå ããŸã
ãã³ãã¬ãŒãïŒ <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
};
}
çµæïŒ
@ doom777ãæ©èœããªãäŸã次ã«ç€ºããŸãïŒ https ïŒ//stackblitz.com/edit/angular-krqwfiïŒfile = srcïŒ
2FappïŒ
2Fapp.module.ts
@agm/core
ãè¿œå ããŠãFitBoundsServiceãã€ã³ããŒãããããšããã ãã§ãã
ç§ã¯ã¡ããã©åŸãŠããŸã
UncaughtïŒin promiseïŒãšã©ãŒïŒããªã»ãããæ§æã§åé¢ãããŠããŸãã
Object.configïŒwebcontainer.5f16b010d2745c788a2.jsïŒ15ïŒ
t.configã§ïŒwebcontainer.5f16b010d2745c788a2.jsïŒ15ïŒ
Beã§ïŒpreview-4858aaa60d96ac0657bab.jsïŒ1ïŒ
ãã¬ãã¥ãŒã§-4858aaa60d96ac06
57bab.jsïŒ1
ããã¯stackblitzãšã©ãŒã®ããã§ã
äœããã£ãŠã¿ãŸãããïŒ
packages\core\map-types.ts
ã«ç§»åããŸãControlPosition
ãè¿œå ããŸãyarn build
ã§ã©ã€ãã©ãªãæ§ç¯ããnpm link
ã«ãªã³ã¯ããŸãïŒä»¥åã«npmãªã³ã¯ã䜿çšããããšããªãå Žåã¯Googleãã¥ãŒããªã¢ã«ïŒç§ã®PRhttpsïŒ//github.com/SebastianM/angular-google-maps/pull/1730ãè©ŠããŠãåé¡ã解決ãããã©ããæããŠãã ããã
ControlPositionãªã©ã®ã€ã³ããŒããã@agm / coreãã«å€æŽããå¿ èŠããããŸã
@ doom777 ïŒ1730ã®ã¯ããŒã³ãäœæãããã«ãããŠãã¹ãããŸããã æåŸ ã©ããã«æ©èœããŠããŸãã
@ doom777ããã¯ãng-packagerãããã±ãŒãžåããæ¹æ³ãåå ã®ããã§ãã
ããã®ããã«äžåºŠã€ã³ããŒããæŽæ°ããŠããïŒ1648ãæŽæ°ããã®ã§ã¯ãªããGoogleãããã®ã€ã³ããŒããåŠçããïŒ1648ãååŸããããšã«éäžããå¿
èŠããããŸããïŒ ïŒïŒ1730ã®å€æŽã¯ã@ agm / coreãä»ããŠã€ã³ããŒããããã代ããã«@agm/core/{directives,services}
ããã€ã³ããŒãããããã£ã¬ã¯ãã£ã/ãµãŒãã¹ã«å¿
èŠã«ãªãå ŽåããããŸãã
æ確ã«ããããã«ãng-packagrã¯ãïŒ1648ãåããµãŒãã§ã¹ãå£ããŠããAPIãµãŒãã§ã¹ã«é¢ããŠãæœåšçã«å£ããå€æŽã§ããïŒgoogleãããã¿ã€ãã®ã€ã³ããŒãïŒ
ãã®ã¢ãžã¥ãŒã«ã®ng-packagrã®å€æŽã§ããïŒ1731ãè¿œå ããŸãããã$ïŒ @agm/core/services/google-maps-types
@agm/core/*
ããã®ã€ã³ããŒãïŒ @agm/core/services
ãŸãã¯@agm/core/directives
ãå«ãïŒã«ã¯å¯Ÿå¿ããŠããŸãã
@ agm / core / services / google-maps-typesãã{google}ãã€ã³ããŒãããããšãããšãã®ãšã©ãŒãçºçããŸãã ãŸããnode_modulesãåé€ããŠãnpminstallãäœåºŠãåå®è¡ããããšããŸããã 解決çãèŠã€ããã®ãæäŒã£ãŠãã ããã
@pasqualepalmaccioãæ¬çªç°å¢ã®å Žåã¯ã1.0.0-beta.7ã«æ»ããŸãã ãã以å€ã®å Žåã¯ãä¿®æ£ããªãªãŒã¹ããããŸã§åŸ ã¡ãŸãã
æŽæ°åŸãåãåé¡ãçºçããŸãã åé¿çã¯ãããŸããïŒ
@jimmykane package.jsonã$ïŒ$ 1 $ïŒ$ã§ã¯ãªã@agm/core: "^1.0.0-beta.7"
"@agm/core: "1.0.0-beta.7"
ãæå®ããŠããããšã確èªããå¿
èŠããããŸããããã¯ãåãã€ã³ã¿ãŒãã§ã€ã¹ãå
¬éããªã1.0.0
ãªãªãŒã¹ãããããšãæå³ããããã§ãã
ããã®ä¿®æ£ã«åãçµãã§ããŸããã察åŠããå¿ èŠã®ããä»ã®ã€ã³ããŒãããããŸãã
ä¿®æ£ããããŸããäžæçãªåé¡ãããŒãžããã ãã§ãã
ç§ã¯ãŸã ãã®åé¡ãèŠãŠããŸãããã®ä¿®æ£ã¯ããŒãžãããŠããŸããïŒ
ããããç§ã®PRãæ¿èªããå¥ã®å¯çš¿è ãèŠã€ããããšãã§ããŸãã:(
ãã®ä¿®æ£ã¯ããŒãžãããŠããŸããïŒ
ä¿®æ£ã«åãçµãã§ããéãããã¶ã1.0.0ããŒãžã§ã³ããã«ããã¯ããŸããïŒ
ã€ã³ããŒãããããšããŠãåãåé¡ãçºçããŸãã
import {ZoomControlOptionsãControlPositionãZoomControlStyle} from '@ agm / core / services / google-maps-types';
ãµã€ã³ã¢ããããã ãã§ãä¿®æ£ã®éç¥ãåãåãããšãã§ããŸãã ä»ã®ãšãããããŒãã³ãŒããããããžãã¯å€ã䜿çšããŸã
ä»ã®ãšãã1.0.0-beta.7ã䜿çšã§ããŸãã
1.0.1éããªããªãªãŒã¹ãããŸããã»ãã¹ãã£ã³ã»ãã«ã¹ã¿ã€ã³ã«é£çµ¡ããããšããŠããŸãããéããããŸããã
ããã«ã¡ã¯@SebastianMwaky waky ....ããããããã¶ã€ããŸããã
1.0.0-beta.7ã¯IVYã§åäœããªããããçŸåšããã®ããã±ãŒãžã®äœ¿çšã¯ããã¯ã¢ãŠããããŠããŸãã
ãã³ã@SebastianMãã®ã¬ããç¶æããŠãã ããã ããŒãžããŠãªãªãŒã¹ããŸãã
1人ã®äœåã®å Žåãç§ãã¡ã¯çããã§èŠåŽããŠããŸãã
ãããããã»ãã¹ãã£ã³ã¯ããã§ã³ã©ãã«æ£ããç¹æš©ãè¿œå ããããšãã§ããŸã
ãããŠåºæ¥äžããã®åé¡ã¯è§£æ±ºããŸããã
2019幎11æ2æ¥åææ¥ã12ïŒ37 Lukas Neumannã notifications @ 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=AAJVX45GD4L46U7JGGD7FMDQRVQ7FA5CNFSM4IYS2YRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63
ãŸãã¯è³Œèªã解é€ãã
https://github.com/notifications/unsubscribe-auth/AAJVX45ENBM22GNL6UEF26TQRVQ7FANCNFSM4IYS2YRA
ã
ç§ã¯åŸãŠããŸã
ã€ã³ã¹ããŒã«ãããŠããã®ã«Module not found: Error: Can't resolve '@agm/core/services'
!!
@ agm / coreïŒ1.0.0-beta.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';
ãããŠããã¯ããŸãæ©èœããŠããŸãã
Okã ãŸããããããGOogleMapsAPIWrapperã䜿çšããã¹ãã§ã¯ãããŸãã
ãªã説æããŠããããŸããïŒ @ doom777
ãªã説æããŠããããŸããïŒ @ doom777
GoolgeMapsAPIWrapperã¯ãã©ã€ãã©ãªã®å éšã§ã®ã¿äœ¿çšãããããšãæå³ããŠãããã©ã€ãã©ãªã®æ¶è²»è åãã§ã¯ãªããšæããŸãã ã¡ã€ã³ã³ã³ããŒãã³ããžã®å ¥åãã€ã³ãã£ã³ã°ãšã€ãã³ããã€ã³ãã£ã³ã°ã䜿çšããå¿ èŠããããŸãã ã¢ãžã¥ãŒã«ã§AgmCoreModuleãã€ã³ããŒãããã€ã³ããŒãã»ã¯ã·ã§ã³ã§forRootããŸãã
ã°ãŒã°ã«ããã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ãã€ã³ã¹ããŒã«ãããšãå°å³ãå ¥åã§ããŸãã
@Toomavic
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'
ã€ãã³ãã¯ãšã¯ã¹ããŒããããŸããïŒ
ç§ã¯ãã§ã«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';
ãã€ã³ã¹ããŒã«ããããšã§ãããå®çŸã§ããŸãããããã¯äžçš®ã®ããããŒãªæãã§ãIntelliJIdeaã¯æªäœ¿çšã®ã€ã³ããŒããšããŠããŒã¯ããŸãã 次ã«ã_Optimize imports_ã¯ãã®è¡ãåé€ããã³ãŒããäžæããŸãã
ããã¯ä¿®æ£ã§ããŸããïŒ ðð»
'@ agm / core'ãã{GoogleMapsAPIWrapper}ãã€ã³ããŒãããŠã¿ãŠãã ããã
'@ agm / core / service'ãã{GoogleMapsAPIWrapper}ãã€ã³ããŒããã代ããã«;
ããã¯1.1.0ã§ã¯ãŸã ä¿®æ£ãããŠããŸããã åéããŠäœæ¥ããŠããã ããŸããïŒ
ç§ã¯ãã®ãšã©ãŒã«çŽé¢ããŠããŸãã å¥ã®ããŒãžã§ã³ã§è©ŠããŸãããããšã©ãŒãæ®ããŸã...
ãã®ãšã©ãŒã«ããŸã ãçŽé¢ããŠãããã¹ãŠã®äººã®ããã«ãæ·±ãã€ã³ããŒããè¡ãããæµ ãã€ã³ããŒããè¡ã£ãŠãã ããã
ããã«ã¡ã¯@ doom777ããã¯å¯ŸåŠãããŠããŸããïŒ
ã¯ããæ°ãã3.0.0ããŒãžã§ã³ã䜿çšããŠããå Žåã¯ãç¬èªã®Googleã¿ã€ããããã±ãŒãžåããŠããªããããã€ã³ããŒããå®å
šã«åé€ããŠãã ããã 1.1.0ã䜿çšããŠããå Žåã¯ãã©ã€ãã©ãªã®å¥¥æ·±ãã§ã¯ãªãã @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ã䜿çšããŠããå Žåã¯ãã©ã€ãã©ãªã®å¥¥æ·±ãã§ã¯ãªãã
@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
ã«é¢é£ããŠãããã¥ã¡ã³ãã¯ã§ããã ãæ©ãæŽæ°ãããå¯èœæ§ããããšæããŸãã
æ£ããã å¶åŸ¡ãµãèŠçŽ ãåªå ããŠãå¶åŸ¡ãªãã·ã§ã³ãåé€ãããŸãã
æãåèã«ãªãã³ã¡ã³ã
@jimmykane package.jsonã$ïŒ$ 1 $ïŒ$ã§ã¯ãªã
@agm/core: "^1.0.0-beta.7"
"@agm/core: "1.0.0-beta.7"
ãæå®ããŠããããšã確èªããå¿ èŠããããŸããããã¯ãåãã€ã³ã¿ãŒãã§ã€ã¹ãå ¬éããªã1.0.0
ãªãªãŒã¹ãããããšãæå³ããããã§ããããã®ä¿®æ£ã«åãçµãã§ããŸããã察åŠããå¿ èŠã®ããä»ã®ã€ã³ããŒãããããŸãã