{"id":774,"date":"2021-02-07T18:00:00","date_gmt":"2021-02-07T18:00:00","guid":{"rendered":"https:\/\/geteach.com\/blog\/?p=774"},"modified":"2024-12-14T15:29:22","modified_gmt":"2024-12-14T15:29:22","slug":"geteach-com-and-arcgis-api","status":"publish","type":"post","link":"https:\/\/geteach.com\/blog\/2021\/02\/07\/geteach-com-and-arcgis-api\/","title":{"rendered":"GeTeach.com and ArcGIS API"},"content":{"rendered":"\n<p>In 2012, I ran into Joseph Kerski in San Marcos at the National Council for Geographic Education conference. The site created for my students, <a href=\"https:\/\/geteach.com\" target=\"_blank\" rel=\"noreferrer noopener\">geteach.com<\/a>, received an Excellence in Media award from the organization that year, and I have a distinct memory of a conversation in a small hotel room with Joseph, where he asked something along the lines of why I don\u2019t use ESRI\u2019s services. The truth is, I am a user and teacher of multiple GIS platforms, including QGIS, ArcGIS Online, Earth Engine, Google Earth, Google Maps, Google My Maps, and the Google Maps API. After several years of delay, I have finally started looking at ArcGIS\u2019s JavaScript API.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"geteach ArcGIS API JavaScript - 1st Draft\" width=\"1170\" height=\"658\" src=\"https:\/\/www.youtube.com\/embed\/3RhY-x0YTP0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><figcaption class=\"wp-element-caption\">First Draft <a href=\"https:\/\/geteach.com\/arc\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/geteach.com\/arc\/<\/a><\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What I like..<\/h2>\n\n\n\n<p>Please note that I\u2019ve only spent a couple of weekends working on this new draft site: <a href=\"https:\/\/geteach.com\/arc\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/geteach.com\/arc\/<\/a>. However, I already have some positive first impressions. Since the loss of the Earth API, I\u2019ve dreamed of bringing a globe back into a website. The bonus with the ArcGIS API is that users can toggle between both 2D and 3D views.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"641\" src=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/2d2d-1140x641.png\" alt=\"\" class=\"wp-image-776\" srcset=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/2d2d-1140x641.png 1140w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/2d2d-300x169.png 300w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/2d2d-768x432.png 768w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/2d2d-1536x864.png 1536w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/2d2d.png 1920w\" sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" \/><figcaption class=\"wp-element-caption\">First Draft <a rel=\"noreferrer noopener\" href=\"https:\/\/geteach.com\/arc\/\" target=\"_blank\">https:\/\/geteach.com\/arc\/<\/a><\/figcaption><\/figure>\n\n\n\n<p>I have mixed feelings about widgets, regardless of the service. They\u2019ve always been nice and easy to work with, but there\u2019s always something I\u2019d like to change. While the compromises are minimal with the ArcGIS API, they still exist. From the documentation, it seems that a skilled developer could modify or create their own widgets. However, no high school teacher has time for that<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"641\" src=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/widgets-1140x641.png\" alt=\"\" class=\"wp-image-777\" srcset=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/widgets-1140x641.png 1140w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/widgets-300x169.png 300w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/widgets-768x432.png 768w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/widgets-1536x864.png 1536w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/widgets.png 1920w\" sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" \/><figcaption class=\"wp-element-caption\">First Draft <a rel=\"noreferrer noopener\" href=\"https:\/\/geteach.com\/arc\/\" target=\"_blank\">https:\/\/geteach.com\/arc\/<\/a><\/figcaption><\/figure>\n\n\n\n<p>The basemap options are fantastic. Eventually, once I figure it out, I will add the raster pyramid tiles and geoJson vector data I use in <a rel=\"noreferrer noopener\" href=\"https:\/\/geteach.com\" target=\"_blank\">geteach.com<\/a>. Loading the data does not look to be difficult. Like all the version of <a rel=\"noreferrer noopener\" href=\"https:\/\/geteach.com\" target=\"_blank\">geteach.com<\/a>, the menu system is going to take some time. Mashing together an API with a home grown UX takes more time than a couple of weekends for me. The basic UI framework is there. In addition, I have another former function that I would like to bring back to layers that will add some time to my development. Therefore, currently the only exploration of maps are ESRI\u2019s basemaps\u2026.which are fantastic! Really enjoy the outline map next to a reference map!<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"641\" src=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/outlineBaseMap-1140x641.png\" alt=\"\" class=\"wp-image-778\" srcset=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/outlineBaseMap-1140x641.png 1140w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/outlineBaseMap-300x169.png 300w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/outlineBaseMap-768x432.png 768w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/outlineBaseMap-1536x864.png 1536w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/outlineBaseMap.png 1920w\" sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" \/><figcaption class=\"wp-element-caption\">First Draft <a rel=\"noreferrer noopener\" href=\"https:\/\/geteach.com\/arc\/\" target=\"_blank\">https:\/\/geteach.com\/arc\/<\/a><\/figcaption><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">What I miss&#8230;<\/h2>\n\n\n\n<p>Urgh! Street View. Street View is the primary reason I have not already experimented with the ArcGIS API. I do not believe there is one time when my class is using <a href=\"https:\/\/geteach.com\" target=\"_blank\" rel=\"noreferrer noopener\">geteach.com<\/a> that at least one student is not using Street View. Even if there is nothing in the activity having to do with Street View, someone has dropped Pegman into North Korea.<\/p>\n\n\n\n<p>For this project, there are several widgets, including search, elevation, and measurements, which are easy to implement in the code. The main challenge is understanding how to start, stop, clear, and reset the widgets for both a 2D environment and a 3D world\u2026 MapView vs. SceneView.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"641\" src=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/geteachStreetview-1140x641.png\" alt=\"\" class=\"wp-image-779\" srcset=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/geteachStreetview-1140x641.png 1140w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/geteachStreetview-300x169.png 300w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/geteachStreetview-768x432.png 768w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/geteachStreetview-1536x864.png 1536w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/geteachStreetview.png 1920w\" sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" \/><figcaption class=\"wp-element-caption\">First Draft <a rel=\"noreferrer noopener\" href=\"https:\/\/geteach.com\/arc\/\" target=\"_blank\">https:\/\/geteach.com\/arc\/<\/a><\/figcaption><\/figure>\n\n\n\n<p>Similar to Street View, Google&#8217;s imagery is far better than the available basemaps\u2014at least the ones I\u2019ve seen\u2014when it comes to populated areas. Cultural landscape is a huge component of my human geography high school course, and Google\u2019s imagery is often more detailed in this regard. ESRI\u2019s services, however, seem to offer more complex 3D scenes, though this is not a default option.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1140\" height=\"641\" src=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/imagery-1140x641.png\" alt=\"\" class=\"wp-image-793\" srcset=\"https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/imagery-1140x641.png 1140w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/imagery-300x169.png 300w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/imagery-768x432.png 768w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/imagery-1536x864.png 1536w, https:\/\/geteach.com\/blog\/wp-content\/uploads\/2021\/02\/imagery.png 1920w\" sizes=\"auto, (max-width: 1140px) 100vw, 1140px\" \/><figcaption class=\"wp-element-caption\">Google Maps API Left | ArcGIS Imagery Basemap Right<\/figcaption><\/figure>\n\n\n\n<p>Using an API key is not straightforward. I\u2019m unsure how long this draft site will work because I don\u2019t have a \u2018pay as you go\u2019 setup as a developer. One of the reasons I\u2019m branching out to this API is because I had to remove the search location feature from geteach.com. One month, I received a $300 bill from Google\u2019s Map Platform due to their Places API, the service for map search. I avoided the charge by disabling the feature. This is where most of my uncertainty lies\u2014I have no idea how much this API will cost as I continue developing it, nor do I know how long it will work without a key. &nbsp;<\/p>\n\n\n\n<p>As always, the primary purpose of <a href=\"https:\/\/geteach.com\" target=\"_blank\" rel=\"noreferrer noopener\">geteach.com<\/a> is to provide a free site to help teachers educate and engage students using <s>Google<\/s> Geo Tools\u2014no ads and no sign-in required. I see <a href=\"https:\/\/geteach.com\" target=\"_blank\" rel=\"noreferrer noopener\">geteach.com<\/a> as a gift to the curious who find value in these sites. As I mentioned earlier, I\u2019m a high school teacher, so I apologize that it can\u2019t be more.<\/p>\n\n\n\n<p>Follow me on bluesky <a href=\"https:\/\/bsky.app\/profile\/geteach.com\" target=\"_blank\" rel=\"noreferrer noopener\">@geteach<\/a> if you are interested in project updates.<\/p>\n\n\n\n<p>updated 12\/14\/2024 minor edits and replaced &#8220;Follow me on Twitter&#8221; with Bluesky<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In 2012, I ran into Joseph Kerski in San Marcos at the National Council for Geographic Education conference. The site created for my students, geteach.com, received an Excellence in Media award from the organization that year, and I have a distinct memory of a conversation in a small hotel room with Joseph, where he asked [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[8,11,7,9,10],"class_list":["post-774","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-arcgis-api","tag-education","tag-geteach","tag-google-earth","tag-google-maps-api"],"_links":{"self":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts\/774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/comments?post=774"}],"version-history":[{"count":16,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts\/774\/revisions"}],"predecessor-version":[{"id":1100,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/posts\/774\/revisions\/1100"}],"wp:attachment":[{"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/media?parent=774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/categories?post=774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geteach.com\/blog\/wp-json\/wp\/v2\/tags?post=774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}