{"id":304002,"date":"2018-08-23T10:24:04","date_gmt":"2018-08-23T17:24:04","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=304002"},"modified":"2018-08-30T10:28:17","modified_gmt":"2018-08-30T17:28:17","slug":"migrating-web-apps-from-google-to-arcgis-searching-and-geocoding","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding","title":{"rendered":"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding"},"author":3801,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[37101],"tags":[39371,96582,38851,27491],"industry":[],"product":[36831],"class_list":["post-304002","blog","type-blog","status-publish","format-standard","hentry","category-announcements","tag-announcement","tag-arcgis-api-for-javascript","tag-developers","tag-jsapi4","product-js-api-arcgis"],"acf":{"short_description":"This is the third post in a four-part series covering the basic topics related to migrating your app built with the Google to ArcGIS.","flexible_content":[{"acf_fc_layout":"content","content":"<p>This is the third post in a four-part series covering the basic topics related to migrating your app built with the Google Maps JavaScript API to the <a href=\"https:\/\/developers.arcgis.com\/javascript\/\">ArcGIS API for JavaScript<\/a> (JavaScript API). The series covers the following topics:<\/p>\n<ul>\n<li><a href=\"http:\/\/esriurl.com\/fromgoogletoesrijs\">Getting Started: Displaying a marker with a popup<\/a><\/li>\n<li><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-directions-and-routing\/\">Getting directions and displaying a route<\/a><\/li>\n<li>Searching and Geocoding<\/li>\n<li><a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-adding-a-shape\/\">Adding a shape<\/a><\/li>\n<\/ul>\n<p>In this post, we\u2019ll do an overview on searching and geocoding.<\/p>\n<p><strong>Getting started<\/strong><\/p>\n<p>To get started with ArcGIS, sign up for the <a href=\"https:\/\/developers.arcgis.com\/sign-up\">ArcGIS Developer Program<\/a> at no cost. This account will get you access to the JavaScript API, 1,000,000 basemaps and geosearch (e.g. interactive find and zoom) transactions per month, access to a wide selection of rich content and services hosted in ArcGIS Online, unlimited non-revenue generating apps deployed, and quite a bit more for free. More information can be found in the first <a href=\"http:\/\/esriurl.com\/fromgoogletoesrijs\">blog<\/a> of this series.<\/p>\n<p><strong>Create a basic mapping app<\/strong><\/p>\n<p>Check out the\u00a0<a href=\"http:\/\/esriurl.com\/fromgoogletoesrijs\">Getting Started blog<\/a>\u00a0for an overview on how to load the JavaScript API and create a map.<\/p>\n<p><strong>Searching for places<\/strong><\/p>\n<p>There are multiple ways in which you can locate a place of interest on a map. One way of doing that is searching for a list of places nearby a particular location, based on a keyword or type.<\/p>\n<p>Say you\u2019d like to search for restaurant place names around a given location. With Google, you would define the search center, and then use the PlacesService to do a nearbySearch. In the callback you would parse and display the search results.<\/p>\n<pre><code style=\"display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; -webkit-text-size-adjust: none;\"><span style=\"color: #333; font-weight: bold;\">const<\/span> searchCenter = {lat: <span style=\"color: #008080;\">40.0150<\/span>, lng: -<span style=\"color: #008080;\">105.2705<\/span>};\r\n\r\n<span style=\"color: #333; font-weight: bold;\">const<\/span> map = <span style=\"color: #333; font-weight: bold;\">new<\/span> google.maps.Map(<span style=\"color: #0086b3;\">document<\/span>.getElementById(\"<span style=\"color: #d14;\">map\"<\/span>), {\r\n  zoom: <span style=\"color: #008080;\">7<\/span>,\r\n  center: searchCenter\r\n});\r\n\r\n<span style=\"color: #333; font-weight: bold;\">const<\/span> service = <span style=\"color: #333; font-weight: bold;\">new<\/span> google.maps.places.PlacesService(map);\r\nservice.nearbySearch({\r\n  location: searchCenter,\r\n  radius: <span style=\"color: #008080;\">500<\/span>,\r\n  type: [\"<span style=\"color: #d14;\">restaurant\"<\/span>]\r\n}, callback);\r\n<\/code><\/pre>\n<p>To do a similar search with the ArcGIS API for JavaScript, you define the search center point, and then use a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-tasks-Locator.html\">Locator<\/a>\u00a0to search around that location using <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-tasks-Locator.html\">addressToLocations<\/a>. The locator will use the <a href=\"https:\/\/developers.arcgis.com\/features\/geocoding\/\">ArcGIS World Geocoding Service<\/a> and search for locations that are in the \u201cfood\u201d <a href=\"https:\/\/developers.arcgis.com\/rest\/geocode\/api-reference\/geocoding-category-filtering.htm#ESRI_SECTION1_502B3FE2028145D7B189C25B1A00E17B\">category<\/a>.<\/p>\n<pre><code style=\"display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; -webkit-text-size-adjust: none;\"><span style=\"color: #0086b3;\">require<\/span>([\r\n  <span style=\"color: #d14;\">\"esri\/Map\"<\/span>,\r\n  <span style=\"color: #d14;\">\"esri\/views\/MapView\"<\/span>,\r\n  <span style=\"color: #d14;\">\"esri\/tasks\/Locator\"<\/span>,\r\n  <span style=\"color: #d14;\">\"esri\/geometry\/Point\"<\/span>\r\n], <span style=\"color: #333; font-weight: bold;\">function<\/span>(\r\n  Map, MapView, Locator, Point) {\r\n\r\n  <span style=\"color: #333; font-weight: bold;\">const<\/span> searchCenter = <span style=\"color: #333; font-weight: bold;\">new<\/span> Point({\r\n    type: <span style=\"color: #d14;\">\"point\"<\/span>,\r\n    latitude: <span style=\"color: #008080;\">40.0150<\/span>,\r\n    longitude: -<span style=\"color: #008080;\">105.2705<\/span>\r\n  });\r\n\r\n  <span style=\"color: #333; font-weight: bold;\">const<\/span> map = <span style=\"color: #333; font-weight: bold;\">new<\/span> <span style=\"color: #0086b3;\">Map<\/span>({\r\n    basemap: <span style=\"color: #d14;\">\"streets-vector\"<\/span>\r\n  });\r\n\r\n  <span style=\"color: #333; font-weight: bold;\">const<\/span> view = <span style=\"color: #333; font-weight: bold;\">new<\/span> MapView({\r\n    container: <span style=\"color: #d14;\">\"viewDiv\"<\/span>,\r\n    map: map,\r\n    center: searchCenter,\r\n    zoom: <span style=\"color: #008080;\">7<\/span>\r\n  });\r\n\r\n  <span style=\"color: #333; font-weight: bold;\">const<\/span> locator = <span style=\"color: #333; font-weight: bold;\">new<\/span> Locator({\r\n    url: <span style=\"color: #d14;\">\"https:\/\/geocode.arcgis.com\/arcgis\/rest\/services\/World\/GeocodeServer\"<\/span>\r\n  });\r\n\r\n  locator.addressToLocations({\r\n    location: searchCenter,\r\n    distance: <span style=\"color: #008080;\">500<\/span>,\r\n    categories: [<span style=\"color: #d14;\">\"Food\"<\/span>]\r\n  })\r\n    .then(<span style=\"color: #333; font-weight: bold;\">function<\/span>(results) {\r\n      <span style=\"color: #998; font-style: italic;\">\/\/ Parse results and draw graphics<\/span>\r\n    })\r\n});\r\n<\/code><\/pre>\n<p>If you\u2019d like to try out a step-by-step tutorial on finding places, check out this <a href=\"https:\/\/developers.arcgis.com\/labs\/javascript\/find-places\/\">DevLab<\/a>.<\/p>\n<p>With ArcGIS API for JavaScript you can also integrate search using the out of box <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Search.html\">Search widget<\/a>. With just a few lines of code the widget provides an experience for searching and geocoding. In addition to doing a place search or geocode, you can configure it to also search within your own data on the map.<\/p>\n<pre><code style=\"display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; -webkit-text-size-adjust: none;\"><span style=\"color: #333; font-weight: bold;\">const<\/span> searchWidget = <span style=\"color: #333; font-weight: bold;\">new<\/span> Search({\r\n  view: view\r\n});\r\n<\/code><\/pre>\n<p>Here\u2019s an example for adding the Search Widget in the top-right corner of an application:<\/p>\n<pre><code style=\"display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; -webkit-text-size-adjust: none;\">view.ui.add(searchWidget, {\r\n  position: <span style=\"color: #d14;\">\"top-right\"<\/span>\r\n});\r\n<\/code><\/pre>\n<p>When a result is available the widget zooms the map to the associated location and automatically creates a popup. Here\u2019s a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-search-3d\/index.html\">sample<\/a> for using the Search widget.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":306482,"id":306482,"title":"locator","filename":"locator.png","filesize":192719,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\/locator-2","alt":"","author":"4271","description":"","caption":"","name":"locator-2","status":"inherit","uploaded_to":304002,"date":"2018-08-23 16:20:58","modified":"2018-08-23 16:20:58","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1307,"height":685,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","thumbnail-width":213,"thumbnail-height":112,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","medium-width":464,"medium-height":243,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","medium_large-width":768,"medium_large-height":403,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","large-width":1307,"large-height":685,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","1536x1536-width":1307,"1536x1536-height":685,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","2048x2048-width":1307,"2048x2048-height":685,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","card_image-width":826,"card_image-height":433,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/locator.png","wide_image-width":1307,"wide_image-height":685}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The Locator can be used in several ways in addition to searching for place names, for example geocoding and reverse geocoding. To search for an address by a specific point on the map use\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-tasks-Locator.html#locationToAddress\">locationToAddress<\/a>. This is done by listening for a click event that gives you the point where you clicked on the map. You can use this point with locationToAddress to return the best address for this location.<\/p>\n<pre><code style=\"display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; -webkit-text-size-adjust: none;\">view.on(<span style=\"color: #d14;\">\"click\"<\/span>, <span style=\"color: #333; font-weight: bold;\">function<\/span>(event){\r\n  geocoder.locationToAddress(event.mapPoint)\r\n    .then(<span style=\"color: #333; font-weight: bold;\">function<\/span>(response) {\r\n      <span style=\"color: #998; font-style: italic;\">\/\/ Parse results and draw graphics<\/span>\r\n    });\r\n});\r\n<\/code><\/pre>\n<p>If you\u2019d like to try out a step-by-step tutorial on searching for an address using reverse geolocation, check out this\u00a0<a href=\"https:\/\/developers.arcgis.com\/labs\/javascript\/search-for-an-address\/\">DevLab<\/a>.<\/p>\n<p><strong>Next Steps &amp; more resources<\/strong><\/p>\n<p>Stay tuned for the next tutorial that will cover adding a shape to the map.<\/p>\n<p>There are a variety of resources for learning about the ArcGIS API for JavaScript and maximizing your productivity when building your web apps:<\/p>\n<ul>\n<li>Learn more about what you can do with <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-tasks-Locator.html\">Locator<\/a>, for example processing multiple addresses in a request, convert a location to an address, and the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-tasks-Locator.html#suggestLocations\">suggest<\/a> API which provides character by character autocomplete suggestions.<\/li>\n<li>Explore hundreds of\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/index.html\">samples<\/a>\u00a0in a live sandbox for playing around with the code, a\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/guide\/index.html\">guide<\/a> focused on key topics about developing with the API, and the\u00a0<a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/index.html\">API reference<\/a>.<\/li>\n<li>Try out some ArcGIS API for JavaScript\u00a0<a href=\"https:\/\/developers.arcgis.com\/labs\/browse\/?topic=any&amp;product=JavaScript\">DevLabs<\/a>, which are step by step tutorials for learning how to develop with the API.<\/li>\n<\/ul>\n"}],"authors":[{"ID":3801,"user_firstname":"Andy","user_lastname":"Gup","nickname":"andygup","user_nicename":"andygup","display_name":"Andy Gup","user_email":"agup@esri.com","user_url":"http:\/\/www.andygup.net","user_registered":"2018-03-02 00:15:25","user_description":"I spend a ton of time outdoors and when not on a mountain somewhere I'm a Sr. Product Engineer for the ArcGIS Maps SDK for JavaScript. I work on ES modules, 3rd party JavaScript frameworks, and other cool mapping-related goodies.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/andy_gup_thumb4-1.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":4271,"user_firstname":"Julie","user_lastname":"Powell","nickname":"Julie Powell","user_nicename":"julie-powell","display_name":"Julie Powell","user_email":"julie_powell@esri.com","user_url":"","user_registered":"2018-03-02 00:15:51","user_description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. \r\nJulie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":295342,"post_author":"4271","post_date":"2018-08-09 10:29:10","post_date_gmt":"2018-08-09 17:29:10","post_content":"","post_title":"Migrating from Google Maps JavaScript API to ArcGIS API for JavaScript","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"migrating-from-google-maps-javascript-api-to-arcgis-api-for-javascript","to_ping":"","pinged":"","post_modified":"2018-08-30 10:31:39","post_modified_gmt":"2018-08-30 17:31:39","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=295342","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":300452,"post_author":"3801","post_date":"2018-08-17 16:12:31","post_date_gmt":"2018-08-17 23:12:31","post_content":"","post_title":"Migrating Web Apps from Google to ArcGIS: Directions and Routing","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"migrating-web-apps-from-google-to-arcgis-directions-and-routing","to_ping":"","pinged":"","post_modified":"2018-08-30 10:29:38","post_modified_gmt":"2018-08-30 17:29:38","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=300452","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":244632,"post_author":"4271","post_date":"2018-07-05 10:46:38","post_date_gmt":"2018-07-05 17:46:38","post_content":"","post_title":"What's New in the ArcGIS API for JavaScript (version 4.8 & 3.25)","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"jsapi-4-8","to_ping":"","pinged":"","post_modified":"2018-07-26 12:07:52","post_modified_gmt":"2018-07-26 19:07:52","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=244632","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/asandiego2-1.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/asandiego2.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Migrating Web Apps from Google to ArcGIS: Searching and Geocoding<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2018-08-30T17:28:17+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\"},\"author\":{\"name\":\"Andy Gup\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/15927797a6b3b3750014fb54da60503a\"},\"headline\":\"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding\",\"datePublished\":\"2018-08-23T17:24:04+00:00\",\"dateModified\":\"2018-08-30T17:28:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\"},\"wordCount\":10,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"Announcement\",\"ArcGIS API for JavaScript\",\"Developers\",\"jsapi4\"],\"articleSection\":[\"Announcements\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\",\"name\":\"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2018-08-23T17:24:04+00:00\",\"dateModified\":\"2018-08-30T17:28:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/15927797a6b3b3750014fb54da60503a\",\"name\":\"Andy Gup\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/andy_gup_thumb4-1.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/andy_gup_thumb4-1.png\",\"caption\":\"Andy Gup\"},\"description\":\"I spend a ton of time outdoors and when not on a mountain somewhere I'm a Sr. Product Engineer for the ArcGIS Maps SDK for JavaScript. I work on ES modules, 3rd party JavaScript frameworks, and other cool mapping-related goodies.\",\"sameAs\":[\"http:\/\/www.andygup.net\",\"https:\/\/x.com\/agup\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/andygup\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding","og_locale":"en_US","og_type":"article","og_title":"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-08-30T17:28:17+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding"},"author":{"name":"Andy Gup","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/15927797a6b3b3750014fb54da60503a"},"headline":"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding","datePublished":"2018-08-23T17:24:04+00:00","dateModified":"2018-08-30T17:28:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding"},"wordCount":10,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["Announcement","ArcGIS API for JavaScript","Developers","jsapi4"],"articleSection":["Announcements"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding","name":"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2018-08-23T17:24:04+00:00","dateModified":"2018-08-30T17:28:17+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Migrating Web Apps from Google to ArcGIS: Searching and Geocoding"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/15927797a6b3b3750014fb54da60503a","name":"Andy Gup","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/andy_gup_thumb4-1.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/07\/andy_gup_thumb4-1.png","caption":"Andy Gup"},"description":"I spend a ton of time outdoors and when not on a mountain somewhere I'm a Sr. Product Engineer for the ArcGIS Maps SDK for JavaScript. I work on ES modules, 3rd party JavaScript frameworks, and other cool mapping-related goodies.","sameAs":["http:\/\/www.andygup.net","https:\/\/x.com\/agup"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/andygup"}]}},"text_date":"August 23, 2018","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/announcements\/migrating-web-apps-from-google-to-arcgis-searching-and-geocoding","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/08\/asandiego2.png","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":39371,"name":"Announcement","slug":"announcement","term_group":0,"term_taxonomy_id":39371,"taxonomy":"post_tag","description":"","parent":0,"count":21,"filter":"raw"},{"term_id":96582,"name":"ArcGIS API for JavaScript","slug":"arcgis-api-for-javascript","term_group":0,"term_taxonomy_id":96582,"taxonomy":"post_tag","description":"","parent":0,"count":58,"filter":"raw"},{"term_id":38851,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":38851,"taxonomy":"post_tag","description":"","parent":0,"count":78,"filter":"raw"},{"term_id":27491,"name":"jsapi4","slug":"jsapi4","term_group":0,"term_taxonomy_id":27491,"taxonomy":"post_tag","description":"","parent":0,"count":111,"filter":"raw"}],"category_data":[{"term_id":37101,"name":"Announcements","slug":"announcements","term_group":0,"term_taxonomy_id":37101,"taxonomy":"category","description":"","parent":0,"count":1974,"filter":"raw"}],"product_data":[{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":363,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/304002","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/3801"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=304002"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/304002\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=304002"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=304002"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=304002"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=304002"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=304002"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}