{"id":164321,"date":"2009-10-26T22:37:03","date_gmt":"2009-10-26T22:37:03","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=164321"},"modified":"2018-12-18T10:45:14","modified_gmt":"2018-12-18T18:45:14","slug":"working-with-textsymbol-in-the-arcgis-javascript-api","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api","title":{"rendered":"Working with TextSymbol in the ArcGIS JavaScript API"},"author":4801,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[22941],"tags":[23591,24921,23011,26501],"industry":[],"product":[36831,36601],"class_list":["post-164321","blog","type-blog","status-publish","format-standard","hentry","category-mapping","tag-arcgis-server","tag-javascript","tag-raster","tag-services","product-js-api-arcgis","product-developers"],"acf":{"short_description":"This post discusses how you can add text to your map using the ArcGIS JavaScript API. Your map service probably already has some labeling in it.","flexible_content":[{"acf_fc_layout":"content","content":"<div class=\"entry-content\">\n<p>This post discusses how you can add text to your map using the ArcGIS JavaScript API. Your map service probably already has some labeling in it, but you may want to add descriptive information about graphics that you add on top of your map through tasks or queries. The ArcGIS JavaScript API does not have a built-in labeling engine with conflict detection and label placement algorithims, but you can use the\u00a0<a href=\"http:\/\/resources.esri.com\/help\/9.3\/arcgisserver\/apis\/javascript\/arcgis\/help\/jsapi_start.htm#jsapi\/textsymbol.htm\">TextSymbol<\/a>\u00a0class to add text at a specific point location on the map.<\/p>\n<p>The\u00a0<a href=\"http:\/\/resources.esri.com\/help\/9.3\/arcgisserver\/apis\/javascript\/arcgis\/help\/jsapi_start.htm#jsapi\/textsymbol.htm\">TextSymbol<\/a>\u00a0class has several properties that you can use to fine-tune the position and content of the text element such as angle, offset, font, and kerning (spacing between the letters).<\/p>\n<p>Use the TextSymbol.setFont() method to specify a font for the text. You can use the\u00a0<a href=\"http:\/\/resources.esri.com\/help\/9.3\/arcgisserver\/apis\/javascript\/arcgis\/help\/jsapi_start.htm#jsapi\/font.htm\">Font<\/a>\u00a0class to set properties like text size, style and weight.<\/p>\n<h3>Creating a text graphic<\/h3>\n<p>Let\u2019s look at a code snippet that uses several of the Font and TextSymbol properties to create a new TextSymbol and add it to our map as a text graphic. This graphic will denote an unexplored area on our map using an old cartographic phrase \u201cHere be dragons\u201d. First, we\u2019ll create the Font object and specify the font weight and size.<\/p>\n<pre>    \r\n         var font  = new esri.symbol.Font();\r\n         font.setSize(\"12pt\");\r\n         font.setWeight(esri.symbol.Font.WEIGHT_BOLD);<\/pre>\n<p>Now we need to create a new TextSymbol and specify that it should be maroon, set at a 15-degree angle and be aligned to the start of our input point.Next, we use the setFont() method to assign the font we just created to the TextSymbol. Finally, we create a new graphic, assign it the newly created TextSymbol, then add the graphic to the map.<\/p>\n<pre>         var textSymbol = new esri.symbol.TextSymbol(\"Here be dragons\");\r\n         textSymbol.setColor( new dojo.Color([128, 0, 0]));\r\n         textSymbol.setAlign(esri.symbol.TextSymbol.ALIGN_START);\r\n         textSymbol.setAngle(15);\r\n         \r\n         textSymbol.setFont(font);      \r\n        \r\n         var pt=  new esri.geometry.Point(x,y,map.spatialReference)\r\n         var gra = new esri.Graphic(pt,textSymbol);      \r\n         map.graphics.add(gra);<\/pre>\n<h3>Simplifying the code<\/h3>\n<p>The code above is written in a verbose style to make it easier to examine the values we set for the TextSymbol and Font properties. We can reduce the length of the code snippet by using object constructors and chaining method calls. Let\u2019s explore this approach a bit:<\/p>\n<ul>\n<li>First, use map.graphics to get access to the map\u2019s default graphics layer.<\/li>\n<li>The GraphicsLayer has an add method that takes a Graphic object as a parameter, we\u2019ll create a new graphic within the method call using the Graphic constructor.<\/li>\n<li>Graphics consist of geometry, symbol, attributes and an infoTemplate. In our example, we don\u2019t need attributes or an infoTemplate so we\u2019ll use the Graphic constructor and provide only a geometry (Point) and symbol (TextSymbol)<\/li>\n<li>Let\u2019s examine the TextSymbol section a bit more closely. Many of the JavaScript objects, like Graphic and TextSymbol, have setter methods that return the object. Because of this we can chain method calls. In the snippet below, we create a new TextSymbol, define the text in the constructor, then chain setColor, setAlign, setAngle and setFont to reduce the amount of code we have to write.<\/li>\n<\/ul>\n<pre>     map.graphics.add(\r\n            new esri.Graphic(\r\n            new esri.geometry.Point(x,y, map.spatialReference),\r\n            new esri.symbol.TextSymbol(\"Here be dragons\").setColor(\r\n                    new dojo.Color([128,0,0])).setAlign(esri.symbol.TextSymbol.ALIGN_START).setAngle(45).setFont(\r\n                    new esri.symbol.Font(\"12pt\").setWeight(esri.symbol.Font.WEIGHT_BOLD))          \r\n            )\r\n        )<\/pre>\n<p>One caveat to this approach is that it can make the code more difficult to read; however, with a bit of practice it becomes second nature.<\/p>\n<h3>Samples<\/h3>\n<ul>\n<li>Click\u00a0<a href=\"http:\/\/serverapps.esri.com\/javascript_examples\/text_symbol_demo\/text_symbol_demo.html\">here<\/a>\u00a0to see a live sample that generates text graphics<\/li>\n<li>The\u00a0<a href=\"http:\/\/resources.esri.com\/arcgisserver\/apis\/javascript\/arcgis\/index.cfm?fa=codeGalleryDetails&amp;scriptID=15706\">Graphic Symbology Code Generator<\/a>\u00a0on the Code Gallery generates JavaScript code for symbols and is a great tool to explore various symbol properties.<\/li>\n<li>To label polygon graphics, use the GeometryService.labelPoints() method to generate a point inside the polygon. You can then designamte this point as the label position. View the\u00a0<a href=\"http:\/\/resources.esri.com\/help\/9.3\/arcgisserver\/apis\/javascript\/arcgis\/demos\/utilities\/util_label_point.html\">Create points for labeling<\/a>\u00a0sample for details on how to use this method.<\/li>\n<li>Some text information may be better suited to display in an info window. The\u00a0<a href=\"http:\/\/resources.esri.com\/help\/9.3\/arcgisserver\/apis\/javascript\/arcgis\/demos\/map\/map_infowindow.html\">Show an info window<\/a>\u00a0sample shows how to display text in an info window at a specific location<\/li>\n<\/ul>\n<h3>Notes<\/h3>\n<p>There are several browser-specific issues to be aware of when working with fonts and text symbols. These issues are well documented in the\u00a0<a href=\"http:\/\/docs.dojocampus.org\/dojox\/gfx\">dojox.gfx documentation.<\/a>\u00a0Some of the more common issues are:<\/p>\n<ul>\n<li>The font family property does not work in Internet Explorer 7; Arial is always used.<\/li>\n<li>Several browsers including Internet Explorer 7, Firefox and Opera 9 do not support the rotated and decoration properties for text symbols.<\/li>\n<\/ul>\n<p><i>Contributed by Kelly Hutchins of the ArcGIS JavaScript API development team.<\/i><\/p>\n<\/div>\n<div class=\"entry-utility\">This entry was posted in\u00a0<a title=\"View all posts in Services\" href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/category\/services\/\" rel=\"category tag\">Services<\/a>\u00a0and tagged\u00a0<a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/tag\/arcgis-server\/\" rel=\"tag\">ArcGIS Server<\/a>,\u00a0<a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/tag\/javascript\/\" rel=\"tag\">JavaScript<\/a>,\u00a0<a href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/tag\/rasters\/\" rel=\"tag\">Rasters<\/a>. Bookmark the\u00a0<a title=\"Permalink to Working with TextSymbol in the ArcGIS JavaScript API\" href=\"https:\/\/blogs.esri.com\/esri\/arcgis\/2009\/10\/26\/working-with-textsymbol-in-the-arcgis-javascript-api\/\" rel=\"bookmark\">permalink<\/a>.<\/div>\n"}],"authors":[{"ID":4801,"user_firstname":"Kelly","user_lastname":"Hutchins","nickname":"Kelly","user_nicename":"kelly","display_name":"Kelly Hutchins","user_email":"khutchins@esri.com","user_url":"","user_registered":"2018-03-02 00:16:25","user_description":"Software developer on the instant apps team building apps that help you share your Online content. Outside of work I enjoy spending time trail running with my dogs.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/04\/IMG_3695-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"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>Working with TextSymbol in the ArcGIS JavaScript API<\/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\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Working with TextSymbol in the ArcGIS JavaScript API\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api\" \/>\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-12-18T18:45:14+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\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api\"},\"author\":{\"name\":\"Kelly Hutchins\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/6a3c399b819d64e44070cdbedbf2cc9b\"},\"headline\":\"Working with TextSymbol in the ArcGIS JavaScript API\",\"datePublished\":\"2009-10-26T22:37:03+00:00\",\"dateModified\":\"2018-12-18T18:45:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api\"},\"wordCount\":8,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Server\",\"JavaScript\",\"raster\",\"services\"],\"articleSection\":[\"Mapping\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api\",\"name\":\"Working with TextSymbol in the ArcGIS JavaScript API\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2009-10-26T22:37:03+00:00\",\"dateModified\":\"2018-12-18T18:45:14+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Working with TextSymbol in the ArcGIS JavaScript API\"}]},{\"@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\/6a3c399b819d64e44070cdbedbf2cc9b\",\"name\":\"Kelly Hutchins\",\"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\/2024\/04\/IMG_3695-213x200.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/04\/IMG_3695-213x200.jpg\",\"caption\":\"Kelly Hutchins\"},\"description\":\"Software developer on the instant apps team building apps that help you share your Online content. Outside of work I enjoy spending time trail running with my dogs.\",\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Working with TextSymbol in the ArcGIS JavaScript API","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\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api","og_locale":"en_US","og_type":"article","og_title":"Working with TextSymbol in the ArcGIS JavaScript API","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-12-18T18:45:14+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\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api"},"author":{"name":"Kelly Hutchins","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/6a3c399b819d64e44070cdbedbf2cc9b"},"headline":"Working with TextSymbol in the ArcGIS JavaScript API","datePublished":"2009-10-26T22:37:03+00:00","dateModified":"2018-12-18T18:45:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api"},"wordCount":8,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Server","JavaScript","raster","services"],"articleSection":["Mapping"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api","name":"Working with TextSymbol in the ArcGIS JavaScript API","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2009-10-26T22:37:03+00:00","dateModified":"2018-12-18T18:45:14+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/working-with-textsymbol-in-the-arcgis-javascript-api#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Working with TextSymbol in the ArcGIS JavaScript API"}]},{"@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\/6a3c399b819d64e44070cdbedbf2cc9b","name":"Kelly Hutchins","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\/2024\/04\/IMG_3695-213x200.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2024\/04\/IMG_3695-213x200.jpg","caption":"Kelly Hutchins"},"description":"Software developer on the instant apps team building apps that help you share your Online content. Outside of work I enjoy spending time trail running with my dogs.","url":""}]}},"text_date":"October 26, 2009","author_name":"Kelly Hutchins","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":23591,"name":"ArcGIS Server","slug":"arcgis-server","term_group":0,"term_taxonomy_id":23591,"taxonomy":"post_tag","description":"","parent":0,"count":53,"filter":"raw"},{"term_id":24921,"name":"JavaScript","slug":"javascript","term_group":0,"term_taxonomy_id":24921,"taxonomy":"post_tag","description":"","parent":0,"count":151,"filter":"raw"},{"term_id":23011,"name":"raster","slug":"raster","term_group":0,"term_taxonomy_id":23011,"taxonomy":"post_tag","description":"","parent":0,"count":147,"filter":"raw"},{"term_id":26501,"name":"services","slug":"services","term_group":0,"term_taxonomy_id":26501,"taxonomy":"post_tag","description":"","parent":0,"count":20,"filter":"raw"}],"category_data":[{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2698,"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"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":765,"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\/164321","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\/4801"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=164321"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/164321\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=164321"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=164321"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=164321"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=164321"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=164321"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}