File tree Expand file tree Collapse file tree 3 files changed +73
-32
lines changed Expand file tree Collapse file tree 3 files changed +73
-32
lines changed Original file line number Diff line number Diff line change
1
+ @import "https://js.arcgis.com/4.5/esri/css/main.css" ;
2
+
3
+ html , body , # root , .App {
4
+ height : 100% ;
5
+ width : 100% ;
6
+ background-color : # cfcfd4 ;
7
+ }
8
+
9
+ .App {
10
+ text-align : center;
11
+ }
12
+
13
+ .App-header {
14
+ background-color : # 222 ;
15
+ height : 80px ;
16
+ padding : 20px ;
17
+ color : white;
18
+ box-sizing : border-box;
19
+ }
20
+
21
+ h1 {
22
+ margin : 0.25em ;
23
+ }
24
+
25
+ /* Map view */
26
+ # mapContainer {
27
+ height : calc (100% - 80px );
28
+ }
Original file line number Diff line number Diff line change 1
1
import React , { Component } from 'react' ;
2
- import './App.css' ;
3
2
import * as esriLoader from 'esri-loader' ;
3
+ import './App.css' ;
4
+
5
+ class App extends Component {
6
+ constructor ( ) {
7
+ super ( ) ;
4
8
5
- if ( ! esriLoader . isLoaded ( ) ) {
6
- esriLoader . bootstrap ( ( err ) => {
7
- if ( err ) {
8
- console . error ( err ) ;
9
+ if ( ! esriLoader . isLoaded ( ) ) {
10
+ esriLoader . bootstrap ( ( err ) => {
11
+ if ( err ) {
12
+ console . error ( err ) ;
13
+ } else {
14
+ this . createMap ( ) ;
15
+ }
16
+ } , {
17
+ // url: 'https://js.arcgis.com/4.4/' // Here you can change API version
18
+ } ) ;
9
19
} else {
10
- createMap ( ) ;
20
+ this . createMap ( ) ;
11
21
}
12
- } , {
13
- // url: 'https://js.arcgis.com/4.4/' // Here you can change API version
14
- } ) ;
15
- } else {
16
- createMap ( ) ;
17
- }
18
22
19
- function createMap ( ) {
20
- esriLoader . dojoRequire ( [
21
- "esri/Map" ,
22
- "esri/views/MapView"
23
- ] , function ( Map , MapView ) {
24
- let map = new Map ( {
25
- basemap : "gray-vector"
26
- } ) ;
27
- window . map = map ;
28
- let view = new MapView ( {
29
- map : map ,
30
- container : "mapNode" ,
31
- basemap : 'gray-vector' ,
32
- center : [ - 100 , 30 ] ,
33
- zoom : 3
23
+ this . state = {
24
+ map : null ,
25
+ view : null
26
+ }
27
+ }
28
+
29
+ createMap = ( ) => {
30
+ esriLoader . dojoRequire ( [
31
+ "esri/Map" ,
32
+ "esri/views/MapView"
33
+ ] , ( Map , MapView ) => {
34
+ let map = new Map ( {
35
+ basemap : "gray-vector"
36
+ } ) ;
37
+ window . map = map ;
38
+ let view = new MapView ( {
39
+ map : map ,
40
+ container : "mapContainer" ,
41
+ basemap : 'gray-vector' ,
42
+ center : [ - 100 , 30 ] ,
43
+ zoom : 3
44
+ } ) ;
45
+
46
+ this . setState ( {
47
+ map,
48
+ view
49
+ } )
34
50
} ) ;
35
- } ) ;
36
- }
51
+ } ;
37
52
38
- class App extends Component {
39
53
render ( ) {
40
54
return (
41
55
< div className = "App" >
42
56
< div className = "App-header" >
43
57
< h1 > Welcome to ESRI React App</ h1 >
44
58
</ div >
45
- < div id = "mapNode " />
59
+ < div id = "mapContainer " />
46
60
</ div >
47
61
) ;
48
62
}
Original file line number Diff line number Diff line change 4
4
< meta name ="viewport " content ="width=device-width, initial-scale=1, shrink-to-fit=no ">
5
5
< meta name ="theme-color " content ="#000000 ">
6
6
< meta name ="author " content ="Bojan Zivkovic ">
7
- < link rel ="preload stylesheet " href ="https://js.arcgis.com/4.4/esri/css/main.css ">
8
7
<!--
9
8
manifest.json provides metadata used when your web app is added to the
10
9
homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/
You can’t perform that action at this time.
0 commit comments