{"id":2242,"date":"2018-11-01T04:19:06","date_gmt":"2018-11-01T08:19:06","guid":{"rendered":"https:\/\/www.danielpradilla.info\/blog\/?p=2242"},"modified":"2018-11-01T04:19:06","modified_gmt":"2018-11-01T08:19:06","slug":"getting-ip-location-information-with-angular-7","status":"publish","type":"post","link":"https:\/\/www.danielpradilla.info\/blog\/getting-ip-location-information-with-angular-7\/","title":{"rendered":"Getting IP location information with Angular 7"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/danielpradilla\/angular-ipapi\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2243\" data-permalink=\"https:\/\/www.danielpradilla.info\/blog\/getting-ip-location-information-with-angular-7\/ipapi\/\" data-orig-file=\"https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg\" data-orig-size=\"1000,835\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"ipapi\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg\" class=\"aligncenter size-full wp-image-2243\" src=\"https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg\" alt=\"\" width=\"1000\" height=\"835\" srcset=\"https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi.jpg 1000w, https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi-300x251.jpg 300w, https:\/\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/11\/ipapi-768x641.jpg 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><\/p>\n<p>Using <a href=\"https:\/\/angular-maps.com\/\">Angular Maps Components<\/a> and a new service called <a href=\"https:\/\/ipapi.co\">ipapi<\/a>, you will be able to quickly put together something that will allow you to get IP information from a client and put it on a map.<\/p>\n<p>Angular Maps Components is really great, and the setup with ipapi is a no-brainer (they have a free tier for 30,000 requests or under). It literally took me more time to wait for the angular project to be set up than to implement the whole thing!<\/p>\n<p>The code is in github:\u00a0<a href=\"https:\/\/github.com\/danielpradilla\/angular-ipapi\">https:\/\/github.com\/danielpradilla\/angular-ipapi<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Using Angular Maps Components and a new service called ipapi, you will be able to quickly put together something that will allow you to get IP information from a client and put it on a map. Angular Maps Components is really great, and the setup with ipapi is a no-brainer (they have a free tier&hellip; <a class=\"more-link\" href=\"https:\/\/www.danielpradilla.info\/blog\/getting-ip-location-information-with-angular-7\/\">Continue reading <span class=\"screen-reader-text\">Getting IP location information with Angular 7<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[331],"tags":[],"class_list":["post-2242","post","type-post","status-publish","format-standard","hentry","category-software-development-en-en","entry"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1tlzy-Aa","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":1939,"url":"https:\/\/www.danielpradilla.info\/blog\/drawing-the-world-by-hand\/","url_meta":{"origin":2242,"position":0},"title":"Drawing the world by hand","author":"Daniel Pradilla","date":"02\/04\/2013","format":false,"excerpt":"At Lucerne's Gletschergarten,\u00a0among old maps, models and reliefs of the Swiss Alps, we'll find an expo from Ueli L\u00c3\u00a4uppi, a local cartographer that makes hand drawings and colorings of maps using a particular projection that highlights a thorough representation of the mountains. Moreover, L\u00c3\u00a4uppi has moved his studio to the\u2026","rel":"","context":"In &quot;Best of&quot;","block_context":{"text":"Best of","link":"https:\/\/www.danielpradilla.info\/blog\/category\/bestof\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2012\/11\/pluviosidad.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2012\/11\/pluviosidad.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2012\/11\/pluviosidad.jpg?resize=525%2C300 1.5x"},"classes":[]},{"id":2003,"url":"https:\/\/www.danielpradilla.info\/blog\/swisstopo\/","url_meta":{"origin":2242,"position":1},"title":"175 years of maps","author":"Daniel Pradilla","date":"23\/09\/2013","format":false,"excerpt":"You've gotta hand it to the swiss. Follow this link\u00a0and\u00a0you will land in an interactive high-resolution historical map of Switzerland, with an impressive detail level that allows you to time-travel 175 years in map-making, witnessing city walls being replaced by roads and towns engulfed by cities. Mind you: this is\u2026","rel":"","context":"In &quot;Lifestyle&quot;","block_context":{"text":"Lifestyle","link":"https:\/\/www.danielpradilla.info\/blog\/category\/lifestyle\/"},"img":{"alt_text":"geneve","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/09\/geneve.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/09\/geneve.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/09\/geneve.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/09\/geneve.jpg?resize=700%2C400 2x"},"classes":[]},{"id":1630,"url":"https:\/\/www.danielpradilla.info\/blog\/android-desigual-confuso\/","url_meta":{"origin":2242,"position":2},"title":"Android: desigual y confuso","author":"Daniel Pradilla","date":"08\/04\/2011","format":false,"excerpt":"http:\/\/www.youtube.com\/watch?v=k2q1i9m01Uc El blog Android Gripes hace una comparaci\u00c3\u00b3n entre la misma aplicaci\u00c3\u00b3n de google maps corriendo en un iPhone y en un tel\u00c3\u00a9fono Android. Sorprende que siendo un \"tel\u00c3\u00a9fono google\", los mapas se vean peor en el Android. Claro, pero Android es \"abierto\" y todos debemos soportarlo \u00bfcierto? Pues no.\u2026","rel":"","context":"In &quot;Estilo de vida&quot;","block_context":{"text":"Estilo de vida","link":"https:\/\/www.danielpradilla.info\/blog\/category\/estilo-de-vida\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/k2q1i9m01Uc\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1915,"url":"https:\/\/www.danielpradilla.info\/blog\/buy-netbook-ipad-macbook\/","url_meta":{"origin":2242,"position":3},"title":"What should I buy? Netbook, iPad or Macbook?","author":"Daniel Pradilla","date":"04\/03\/2013","format":false,"excerpt":"The netbooks changed the laptop market forever in terms of price. The iPad has by far the best screen than any other existing device. The Macbook Air is one of the lightest laptops and with the highest battery life. So a lot of people ask me what should I buya\u2026","rel":"","context":"In &quot;Lifestyle&quot;","block_context":{"text":"Lifestyle","link":"https:\/\/www.danielpradilla.info\/blog\/category\/lifestyle\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/pinpad.es\/lomejor\/files\/2012\/04\/vs.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/pinpad.es\/lomejor\/files\/2012\/04\/vs.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/pinpad.es\/lomejor\/files\/2012\/04\/vs.png?resize=525%2C300 1.5x"},"classes":[]},{"id":1969,"url":"https:\/\/www.danielpradilla.info\/blog\/how-to-present-statistics\/","url_meta":{"origin":2242,"position":4},"title":"How to present statistics without boring your audience","author":"Daniel Pradilla","date":"08\/08\/2013","format":false,"excerpt":"A few days ago I found a very valuable, yet free resource for improving the way we report statistics. Making Data Meaningful is a series of short, sweet and free ebooks created by the United Nations Economic Commission for Europe as a practical tool to improve the way charts, tables\u2026","rel":"","context":"In &quot;Project Mgmt.&quot;","block_context":{"text":"Project Mgmt.","link":"https:\/\/www.danielpradilla.info\/blog\/category\/projectmanagement-en\/"},"img":{"alt_text":"boring_lecture","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2013\/08\/boring_lecture.jpeg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":2229,"url":"https:\/\/www.danielpradilla.info\/blog\/linear-optimization-with-or-tools-containerizing-a-gunicorn-web-application\/","url_meta":{"origin":2242,"position":5},"title":"Linear optimization with or-tools: containerizing a gunicorn web application","author":"Daniel Pradilla","date":"15\/05\/2018","format":false,"excerpt":"Previously, we left our app working with our local python+gunicorn+nginx installation. In order to get there we had to do quite a bit of configuration and if we wanted to deploy this in a server or send it to a friend, we would have to go through a very error-prone\u2026","rel":"","context":"In &quot;Software Dev.&quot;","block_context":{"text":"Software Dev.","link":"https:\/\/www.danielpradilla.info\/blog\/category\/software-development-en-en\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/05\/docker.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/05\/docker.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.danielpradilla.info\/blog\/wp-content\/uploads\/2018\/05\/docker.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/posts\/2242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/comments?post=2242"}],"version-history":[{"count":0,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/posts\/2242\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/media?parent=2242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/categories?post=2242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.danielpradilla.info\/blog\/wp-json\/wp\/v2\/tags?post=2242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}