{"_id":"geolocator","_rev":"20-3db8681d515221e9d2ad12ce0e86de0b","name":"geolocator","dist-tags":{"latest":"2.1.5"},"versions":{"1.2.6":{"name":"geolocator","version":"1.2.6","keywords":["geolocation","location","latitude","longitude","HTML5","google","map","geocode","ip","address","lookup"],"author":{"name":"Onur Yıldırım"},"license":"MIT","_id":"geolocator@1.2.6","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"b89836a689fd0bffb60a3cc67282ea4b57bd0d71","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-1.2.6.tgz","integrity":"sha512-dcef7nVKyRVrNC5cxJHqKocCkgQmSeLaBmLV1jPOssa+zEVDhHwxB2xt9uL6cjUveeqFoCT+WiQu3zzgJISe6A==","signatures":[{"sig":"MEQCICk7wEid2foAuvXNdGMc+y14DLA4OajpbkzqtOYIft/DAiBeYWO7Oqvf9NktQeJJmfVeKOt3hCI7v4nxF94UWKyNiw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["src","example","LICENSE"],"_shasum":"b89836a689fd0bffb60a3cc67282ea4b57bd0d71","gitHead":"23f15f8ffc04fdca29c98eae2241a62954b670ed","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"2.5.0","description":"A javascript library for retrieving geolocation information via HTML5 and IP look-ups...","directories":{"example":"example"},"_nodeVersion":"0.10.22"},"1.2.8":{"name":"geolocator","version":"1.2.8","keywords":["geolocation","location","latitude","longitude","HTML5","google","map","geocode","ip","address","lookup"],"author":{"name":"Onur Yıldırım"},"license":"MIT","_id":"geolocator@1.2.8","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"bcc688d99842566c8ce62eb1da2bded2c67b64d6","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-1.2.8.tgz","integrity":"sha512-htCYk4vTJrDvG23v82Nq9F+fCMU6z31I+NJcptRDV+kwHCdoY1bWU+QhqK98W9/DiXtckkB9OcYpF2RyJq5IuA==","signatures":[{"sig":"MEUCIQC4i+8YVp5eKIkmzr4Bt+IAWc/0+GpHFQShnZ7jDizQhwIgUj4Gwl+dh6gGqRnB+IIUFUbkFAzbAQHxHRRQ0os66eQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["src","example","LICENSE"],"_shasum":"bcc688d99842566c8ce62eb1da2bded2c67b64d6","gitHead":"1fadb84dec888d48016430c5582e4f48eb3efd43","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"2.5.0","description":"A javascript library for retrieving geolocation information via HTML5 and IP look-ups...","directories":{"example":"example"},"_nodeVersion":"0.10.22"},"1.2.9":{"name":"geolocator","version":"1.2.9","keywords":["geolocation","location","latitude","longitude","HTML5","google","map","geocode","ip","address","lookup"],"author":{"name":"Onur Yıldırım"},"license":"MIT","_id":"geolocator@1.2.9","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"d1ace36b5c0c31297ec57b8c54b98a89d91f015e","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-1.2.9.tgz","integrity":"sha512-l3GiU7CRneLCF7a2SSINJ8YUPW+y4KSEGXTPyrtyPPZbnoTO78i9HOFDDxc0jNiPk/j4FKOaaq1EajlDYcrP/w==","signatures":[{"sig":"MEUCIQDjyV4kJ/XrUzXpQGAkcEEGtaUpK+FEy6bwOfniKqcXeAIgNwVwo8ctiT5D2UpYN4wDEi/cHIg7abNiWFuYcCW/PRE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","files":["src","example","LICENSE"],"_shasum":"d1ace36b5c0c31297ec57b8c54b98a89d91f015e","gitHead":"d5f4b8491b9c62a673c6186ed7cad50c181da92c","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"2.5.0","description":"A javascript library for retrieving geolocation information via HTML5 and IP look-ups...","directories":{"example":"example"},"_nodeVersion":"0.10.22"},"2.0.0":{"name":"geolocator","version":"2.0.0","keywords":["geo","geolocation","location","position","latitude","longitude","HTML5","google","map","geocode","reverse-geocode","ip","address","lookup","distance","directions","duration","matrix","route","timezone","lat","lng","lon"],"author":{"name":"Onur Yıldırım","email":"onur@cutepilot.com"},"license":"MIT","_id":"geolocator@2.0.0","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"abc44b027828f13ff170ae2ce11160890a94a1d9","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-2.0.0.tgz","integrity":"sha512-KJGQruyf+NANn92RtiCHsxTKVqBr8xpGsMaZ41vPLDrO2xUYcST23HCnmED2jW4DmTPYjB8vintK8c8T56G2tg==","signatures":[{"sig":"MEUCIQD7Cws3TynmAmtSZ+tbw1tLBb2SxuiQ9UpPN2cgOqCZ5wIgPftp45uZkub2JEeBUoe5eyQRCS6J7jVSYLZKEFFeDrk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/geolocator.js","_from":".","files":["dist","example","LICENSE"],"_shasum":"abc44b027828f13ff170ae2ce11160890a94a1d9","gitHead":"5ce7470743988584c037f80fd46ca953742abb0d","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"git+https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"2.15.1","description":"A utility for getting geo-location information, geocoding, address look-ups, distance & durations, timezone information and more...","directories":{},"_nodeVersion":"4.4.3","dependencies":{},"devDependencies":{"grunt":"^1.0.1","eslint":"^2.12.0","webpack":"^1.13.1","matchdep":"^1.0.1","babel-core":"^6.9.1","grunt-docma":"^0.6.1","html-loader":"^0.4.3","babel-loader":"^6.2.4","grunt-webpack":"^1.0.11","eslint-config-xo":"^0.15.0","svg-inline-loader":"^0.4.1","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.14.1","babel-preset-es2015":"^6.9.0","grunt-contrib-watch":"^1.0.0","grunt-contrib-connect":"^1.0.2","grunt-contrib-jasmine":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/geolocator-2.0.0.tgz_1466985662320_0.8380836257711053","host":"packages-12-west.internal.npmjs.com"}},"2.1.0":{"name":"geolocator","version":"2.1.0","keywords":["geo","geolocation","location","position","latitude","longitude","HTML5","google","map","geocode","reverse-geocode","ip","address","lookup","distance","directions","duration","matrix","route","timezone","lat","lng","lon"],"author":{"name":"Onur Yıldırım","email":"onur@cutepilot.com"},"license":"MIT","_id":"geolocator@2.1.0","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"5ad609c73c7a980f889d3c34ab44bead0c2bc336","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-2.1.0.tgz","integrity":"sha512-Yx8BhOJmo3UiKHhKhF8lkyNrd1SSvDwoEQYi2h5QmJqiBFO/0Ct+Q7tv+ztvL0ltOL2Xr5qh9M3yoF4ivsyNxg==","signatures":[{"sig":"MEUCIQDH1syZcbPi6QDa5qCNp3IHZMz1XBltXI6G96PbX4DDfwIgFRzDwidWasPAe+RT0LUr4SU2+nkpiTEIdSdKAyrGstY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/geolocator.js","_from":".","files":["dist","example","LICENSE"],"_shasum":"5ad609c73c7a980f889d3c34ab44bead0c2bc336","gitHead":"1aa60f3df46a0e9cfbdbab7554fe14890beca691","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"git+https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"3.10.3","description":"A utility for getting geo-location information via HTML5 and IP look-ups, geocoding, address look-ups, distance and durations, timezone information and more...","directories":{},"_nodeVersion":"4.5.0","dependencies":{},"devDependencies":{"grunt":"^1.0.1","eslint":"^3.6.1","webpack":"^1.13.2","matchdep":"^1.0.1","babel-core":"^6.16.0","grunt-docma":"^0.6.4","html-loader":"^0.4.4","babel-eslint":"^7.0.0","babel-loader":"^6.2.5","grunt-webpack":"^1.0.14","eslint-config-xo":"^0.16.0","svg-inline-loader":"^0.7.1","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^1.16.1","babel-preset-es2015":"^6.16.0","grunt-contrib-watch":"^1.0.0","grunt-contrib-connect":"^1.0.2","grunt-contrib-jasmine":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/geolocator-2.1.0.tgz_1475209581965_0.49328125384636223","host":"packages-16-east.internal.npmjs.com"}},"2.1.1":{"name":"geolocator","version":"2.1.1","keywords":["geo","geolocation","location","position","latitude","longitude","HTML5","google","map","geocode","reverse-geocode","ip","address","lookup","distance","directions","duration","matrix","route","timezone","lat","lng","lon"],"author":{"name":"Onur Yıldırım","email":"onur@cutepilot.com"},"license":"MIT","_id":"geolocator@2.1.1","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"7f672d87f91b5c669cde34b471eea4a31b947d57","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-2.1.1.tgz","integrity":"sha512-2HCXtZC/nwdIVEb7rP5sUEe6ld2BybJHwAo/aHxa+7MpRhk94Xaqu1DqFrtWZ5s6arAOt5P2scgFKHcaRma5Hw==","signatures":[{"sig":"MEUCIQCaYCms7GclaK6jOxZCusJ3ZMKcvAFVvLTeIn8KGw6OaAIgRUNMW+6fm5UyC6Qet9HuI//c/wzARVEt3bL1QXp35E8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/geolocator.js","_from":".","files":["dist","example","LICENSE"],"_shasum":"7f672d87f91b5c669cde34b471eea4a31b947d57","gitHead":"248c243d4f35c81d23835027df9eb5fda3830628","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"git+https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"4.4.1","description":"A utility for getting geo-location information via HTML5 and IP look-ups, geocoding, address look-ups, distance and durations, timezone information and more...","directories":{},"_nodeVersion":"6.9.2","dependencies":{},"devDependencies":{"grunt":"^1.0.1","eslint":"^3.17.1","webpack":"^2.2.1","matchdep":"^1.0.1","babel-core":"^6.23.1","grunt-docma":"^0.8.0","html-loader":"^0.4.5","babel-eslint":"^7.1.1","babel-loader":"^6.4.0","grunt-webpack":"^2.0.1","eslint-config-xo":"^0.17.0","svg-inline-loader":"^0.7.1","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^2.4.1","babel-preset-es2015":"^6.22.0","grunt-contrib-watch":"^1.0.0","grunt-contrib-connect":"^1.0.2","grunt-contrib-jasmine":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/geolocator-2.1.1.tgz_1489210255363_0.7023691965732723","host":"packages-12-west.internal.npmjs.com"}},"2.1.3":{"name":"geolocator","version":"2.1.3","keywords":["geo","geolocation","location","position","latitude","longitude","HTML5","google","map","geocode","reverse-geocode","ip","address","lookup","distance","directions","duration","matrix","route","timezone","lat","lng","lon"],"author":{"name":"Onur Yıldırım","email":"onur@cutepilot.com"},"license":"MIT","_id":"geolocator@2.1.3","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"edf14334db4c6c13b6f61f8b1366b208f25604a0","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-2.1.3.tgz","fileCount":18,"integrity":"sha512-SS3WcFVPV6lHgQnGldcqBDl7DwBIRrlZ6PrLRxFQxe8spfDUzTcJQKZUe8EWiB6OKgPvlQoJghaH68KLH2Zvcg==","signatures":[{"sig":"MEUCICowzLGUIxMj74CrT63gKpBY75ZKQqBQSa3bG9/QdZvaAiEAnxZ50fpK8HgUK3Hnctlpl6a8q7v17Upe/+RsA0jtKwY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":989718},"main":"dist/geolocator.js","files":["dist","example","LICENSE"],"gitHead":"2496d440589f7e80d1795b45b919cf4582d1d3da","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"git+https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"5.8.0","description":"A utility for getting geo-location information via HTML5 and IP look-ups, geocoding, address look-ups, distance and durations, timezone information and more...","directories":{},"_nodeVersion":"8.9.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"grunt":"^1.0.1","eslint":"^3.17.1","webpack":"^2.2.1","matchdep":"^1.0.1","babel-core":"^6.23.1","grunt-docma":"^0.8.0","html-loader":"^0.4.5","babel-eslint":"^7.1.1","babel-loader":"^6.4.0","grunt-webpack":"^2.0.1","eslint-config-xo":"^0.17.0","svg-inline-loader":"^0.7.1","grunt-contrib-copy":"^1.0.0","webpack-dev-server":"^2.4.1","babel-preset-es2015":"^6.22.0","grunt-contrib-watch":"^1.0.0","grunt-contrib-connect":"^1.0.2","grunt-contrib-jasmine":"^1.1.0"},"_npmOperationalInternal":{"tmp":"tmp/geolocator_2.1.3_1522693740693_0.41242932552480704","host":"s3://npm-registry-packages"}},"2.1.5":{"name":"geolocator","version":"2.1.5","keywords":["geo","geolocation","location","position","latitude","longitude","HTML5","google","map","geocode","reverse-geocode","ip","address","lookup","distance","directions","duration","matrix","route","timezone","lat","lng","lon"],"author":{"name":"Onur Yıldırım","email":"onur@cutepilot.com"},"license":"MIT","_id":"geolocator@2.1.5","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"homepage":"https://github.com/onury/geolocator","bugs":{"url":"https://github.com/onury/geolocator/issues"},"dist":{"shasum":"ac2a525aaa270278f5f5c56d50abe28a939472d7","tarball":"https://registry.npmjs.org/geolocator/-/geolocator-2.1.5.tgz","fileCount":18,"integrity":"sha512-8iwVj5e5hri5cI0qYBDV1/y9GoazcxxW1/etx5qBxq7GZ1+emsmg26CLeNG32jPWSoDphug45IlBMX3IPrC7MA==","signatures":[{"sig":"MEUCIDyW+4n1mveH3Lvd2j0B8VWj+U7fWwuwua8k6WXtkZEcAiEAuQciXYmo5N8/1WdbRpDZW+om79snNc1f0hX2+ZMq10g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":795957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcNT47CRA9TVsSAnZWagAAO5EP/Rce3z+NNOrYp4u8mGdi\nekClBiVTGrXykVr2tFSKP4I4ndM5W+46gFEsN6wQmMH4Gd9hL9tuOGryFhsz\nI1w2zOS81WAOfgEhwN/9T5ZSoMNto6gSmq6yE0Tua74GFziXK9pH/t4AYQDt\n66DGmya8kc5jcIZWHvV0KMrIHSVGjGrMifeFgQa38crAWVhKqTVkc9pj4PAF\nPTELoyMO/e0L1L2JKVwAHvUjZMXVlwSV6Rd2u/q3WKePAGQiw/ZdEW/B1dxR\nkhJNHvEyTVQHoHdrmLKY4sSWCH8PSSfRkpqJXCIOd9C0uTr/di29n9cnJOa0\n859EUv5h5uVpegtr5dOALrbt8I1AeMGG1TZigLUYt5NkYGnU2AWL6irYsYj7\ncuSEYnyciOGLS3+gbrljqbOI9hQqOyj9SDZ2GfKlm3QL8MYpdZrD/k9q9Ojr\nCxlREa7U3S0PR1tuPX5r4Fqai/GAMi5l4mahq9eDtP+2F0Nr+JEPb7AQm7Sl\nFNezmHJFEHwMr+TKowSQ5d0CJk91kfBH33OgKb6K20DPg8yV4+E2C7ft1BUP\nNaGSm9KO3EBQfDRuuSf1yd/7Kh517Ok/Sxj6sj2dYs/MBc0IfoqNXHsFyvaC\nLB0Irpr8bFGPT9M6mhHc+JO+TYoZeaOv0FGqOCJbkoX945RuxeoqZYvVl8zP\niH6B\r\n=m1/q\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"bail":true,"roots":["<rootDir>/dist","<rootDir>/test"],"testRegex":"(/test/.*\\.(test|spec))\\.js?$","transform":{},"testEnvironment":"jsdom","coverageDirectory":"./test/.cov","collectCoverageFrom":["src/index.js"],"testPathIgnorePatterns":["/node_modules/","/backup/","/example/","/.cov/"]},"main":"dist/geolocator.js","gitHead":"a758bf50cda8cddc58414ad8b4e26d91771d7704","scripts":{"test":"npm run build:dev && jest --verbose","build":"npm run build:prod && npm run build:dev","serve":"webpack-dev-server --env.serve","build:dev":"webpack --config webpack.config.js --env.dev","build:prod":"webpack --config webpack.config.js --env.prod"},"_npmUser":{"name":"onury","email":"onur@cutepilot.com"},"repository":{"url":"git+https://github.com/onury/geolocator.git","type":"git"},"_npmVersion":"6.4.1","description":"A utility for getting geo-location information via HTML5 and IP look-ups, geocoding, address look-ups, distance and durations, timezone information and more...","directories":{},"_nodeVersion":"8.12.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^4.19.1","webpack":"^4.6.0","jest-cli":"^22.4.3","html-loader":"^0.5.5","webpack-cli":"^2.0.14","babel-eslint":"^10.0.1","babel-loader":"^7.1.4","eslint-config-xo":"^0.20.1","svg-inline-loader":"^0.8.0","webpack-dev-server":"^3.1.3","babel-preset-es2015":"^6.24.1","babel-plugin-istanbul":"^4.1.6"},"_npmOperationalInternal":{"tmp":"tmp/geolocator_2.1.5_1546993211110_0.007486025346977954","host":"s3://npm-registry-packages"}}},"time":{"created":"2015-02-07T13:01:21.172Z","modified":"2025-10-13T17:10:06.509Z","1.2.6":"2015-02-07T13:01:21.172Z","1.2.8":"2015-02-07T13:32:19.431Z","1.2.9":"2015-04-19T00:30:41.804Z","2.0.0":"2016-06-27T00:01:05.072Z","2.1.0":"2016-09-30T04:26:23.090Z","2.1.1":"2017-03-11T05:30:57.745Z","2.1.3":"2018-04-02T18:29:00.883Z","2.1.5":"2019-01-09T00:20:11.292Z"},"bugs":{"url":"https://github.com/onury/geolocator/issues"},"author":{"name":"Onur Yıldırım","email":"onur@cutepilot.com"},"license":"MIT","homepage":"https://github.com/onury/geolocator","keywords":["geo","geolocation","location","position","latitude","longitude","HTML5","google","map","geocode","reverse-geocode","ip","address","lookup","distance","directions","duration","matrix","route","timezone","lat","lng","lon"],"repository":{"url":"git+https://github.com/onury/geolocator.git","type":"git"},"description":"A utility for getting geo-location information via HTML5 and IP look-ups, geocoding, address look-ups, distance and durations, timezone information and more...","maintainers":[{"name":"onury","email":"onur@cutepilot.com"}],"readme":"<h1 align=\"center\">\n    <a href=\"https://github.com/onury/geolocator\">\n        <img width=\"340\" height=\"275\" src=\"https://raw.github.com/onury/geolocator/master/geolocator-logo.png\" />\n    </a>\n</h1>\n\n<p align=\"center\">\n<a href=\"https://cdnjs.com/libraries/geolocator\"><img src=\"https://img.shields.io/cdnjs/v/geolocator.svg?style=flat-square\" alt=\"CDNJS\" /></a>\n<a href=\"https://www.npmjs.com/package/geolocator\"><img src=\"http://img.shields.io/npm/v/geolocator.svg?style=flat-square\" alt=\"npm\" /></a>\n<a href=\"https://github.com/onury/geolocator\"><img src=\"https://img.shields.io/github/release/onury/geolocator.svg?style=flat-square\" alt=\"release\" /></a>\n<a href=\"https://david-dm.org/onury/geolocator\"><img src=\"https://david-dm.org/onury/geolocator.svg?style=flat-square\" alt=\"release\" /></a>\n<a href=\"https://github.com/onury/geolocator/blob/master/LICENSE\"><img src=\"http://img.shields.io/npm/l/geolocator.svg?style=flat-square\" alt=\"license\" /></a>\n<a href=\"https://github.com/onury/geolocator/graphs/commit-activity\"><img src=\"https://img.shields.io/maintenance/yes/2019.svg?style=flat-square\" alt=\"maintained\" /></a>\n<br />\n<sub>© 2019, Onur Yıldırım (<b><a href=\"https://github.com/onury\">@onury</a></b>). Please see the <a href=\"https://github.com/onury/geolocator/blob/master/DISCLAIMER\">Disclaimer</a> and <a href=\"https://github.com/onury/geolocator/blob/master/LICENSE\">License</a>.</sub>\n</p>\n<br />\n\n**Geolocator**.js is a utility for getting geo-location information, geocoding, address look-ups, distance & durations, timezone information and more...\n\n## Features\n\n - HTML5 geolocation (by user permission) with **improved accuracy**.\n - Location by IP\n - Reverse Geocoding (address lookup)\n - Full address information (street, town, neighborhood, region, country, country code, postal code, etc...)\n - Fallback mechanism (from HTML5-geolocation to Geo-IP lookup)\n - Watch geographic position\n - Locate by mobile information\n - Get timezone information\n - Get distance matrix and duration information\n - Calculate distance between two geographic points\n - Various geographic conversion utilities\n - Get client IP\n - Fetched location includes country flag image (SVG) URL\n - Language support (depends on the service provider)\n - Supports Google Loader (loads Google APIs dynamically)\n - Dynamically create Google Maps, **on demand** (with marker, info window, auto-adjusted zoom)\n - Get static Google Map (image) URL for a location\n - Non-blocking script loading (external sources are loaded on the fly without interrupting page load)\n - No library/framework dependencies (such as jQuery, etc...)\n - Universal module (CommonJS/AMD..)\n - Small file size (9KB minified, gzipped)\n - Browser Support: IE 9+, Chrome, Safari, Firefox, Opera...\n\nSee a [**Live Demo**](https://onury.github.io/geolocator/?content=examples).\n\n## Get Geolocator.js\n\n- Link or download via [**CDNJS**][cdnjs].\n- Download full source code from [GitHub releases][releases].\n- Install via **Bower**: `bower install geolocator`\n- Install via **NPM**: `npm install geolocator`\n\n## Usage:\n\nExample below, will attempt to get user's geo-location via HTML5 Geolocation and if user rejects, it will fallback to IP based geo-location.\n\nInside the `<head>` of your HTML:\n```html\n<script type=\"text/javascript\" src=\"geolocator.min.js\"></script>\n<script type=\"text/javascript\">\n\n    geolocator.config({\n        language: \"en\",\n        google: {\n            version: \"3\",\n            key: \"YOUR-GOOGLE-API-KEY\"\n        }\n    });\n\n    window.onload = function () {\n        var options = {\n            enableHighAccuracy: true,\n            timeout: 5000,\n            maximumWait: 10000,     // max wait time for desired accuracy\n            maximumAge: 0,          // disable cache\n            desiredAccuracy: 30,    // meters\n            fallbackToIP: true,     // fallback to IP if Geolocation fails or rejected\n            addressLookup: true,    // requires Google API key if true\n            timezone: true,         // requires Google API key if true\n            map: \"map-canvas\",      // interactive map element id (or options object)\n            staticMap: true         // get a static map image URL (boolean or options object)\n        };\n        geolocator.locate(options, function (err, location) {\n            if (err) return console.log(err);\n            console.log(location);\n        });\n    };\n\n</script>\n```\n\nIf you've enabled `map` option; include the following, inside the `<body>` of your HTML:\n```html\n<div id=\"map-canvas\" style=\"width:600px;height:400px\"></div>\n```\nRead [**API documentation**][api-docs] for lots of other features and examples.\n\n## Important Notes\n\n- Since Geolocation API is an HTML5 feature, make sure your `doctype` is HTML5 (e.g. `<!DOCTYPE html>`).\n- Make sure you're calling Geolocation APIs (such as `geolocator.locate()` and `geolocator.watch()`) from a secure origin (i.e. an **HTTPS** page). In Chrome 50+, Geolocation API is [removed][chrome-unsecure] from **unsecured origins**. Other browsers are expected to follow.\n- Although some calls might work without a key, it is generally required by most Google APIs (such as Time Zone API). To get a free (or premium) key, [click here][google-docs]. After getting a key, you can enable multiple APIs for it. Make sure you [enable][google-console] all the APIs supported by Geolocator. *(If you don't have a key, you can still use Geolocator like the previous versions, but with limited features.)*\n- Geolocator now uses a single Geo-IP provider ([GeoJS](https://www.geojs.io) for locating by IP. You can use `geolcoator.setGeoIPSource()` method to set a [different Geo-IP source][geo-src], but see the [Caveats](#caveats) section before you do so.\n- **Most importantly**; please use this library for anonymous usage data only. And **get consent** from your users that you're collecting their **personal data** and present your reasons.\n\n## Caveats\n\n- **[Mixed Content](https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content) Restriction**:\n\n    There are [alternative Geo-IP services][geo-src] to be used with this library. But most of these services do not provide a free API over HTTPS (SSL/TLS). You need to subscribe for a premium API key to use HTTPS. The caveat is; HTML5 Geolocation API is restricted to HTTPS and when you enable the `fallbackToIP` option, some browsers (such as Chrome and Firefox) will not allow mixed content. It will [block](https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content/How_to_fix_website_with_mixed_content) HTTP content when the page is served over HTTPS.\n\n    Currently, Geolocator will use [GeoJS](https://www.geojs.io) by default which is free and supports HTTPS. **Please use this service responsibly**. For example, do NOT call `locate()` or `.locatebyIP()` on every user/request but only on site entrance. Their location or IP will not change suddenly unless they can teleport!.. \n    \n    Also, [**support GeoJS**](https://www.geojs.io) if you can so we can continue using this nice free service. If you know other free Geo-IP services over HTTPS, let me know and we can add/use them as alternatives.\n\n- **Isomorphic Applications / SSR Support**:\n\n    This library currently only works on client-side (browser). Any kind of server-side functionality (including Server Side Rendering) is not yet oficially supported.\n\n    There is a [discussion](https://github.com/onury/geolocator/issues/55) about at least preventing it from throwing on server; or maybe adding support for some (if not all) methods to work on server. If you're interested and willing to contribute;\n\n    - Continue discussion on [this thread](https://github.com/onury/geolocator/issues/55),\n    - PRs are welcome since I need help improving and maintaining this library.\n\n## Under the Hood\n\nGeolocator v2 is written in ES2015 (ES6), compiled with [Babel][babel], bundled with [Webpack][webpack] and documented with [Docma][docma].\n\n## Change Log\n\nSee version changes [here][changelog].\n\n## License\n\nMIT. See the [Disclaimer][disclaimer] and [License][license].\n\n\n[api-docs]:https://onury.github.io/geolocator/?api=geolocator\n[changelog]:https://onury.github.io/geolocator/?content=changelog\n[license]: https://github.com/onury/geolocator/blob/master/LICENSE\n[disclaimer]: https://github.com/onury/geolocator/blob/master/DISCLAIMER\n[uncompressed]: https://raw.github.com/onury/geolocator/master/src/geolocator.js\n[compressed]: https://raw.github.com/onury/geolocator/master/src/geolocator.min.js\n[cdnjs]:https://cdnjs.com/libraries/geolocator\n[demo]: http://rawgit.com/onury/geolocator/master/example/index.html\n[geo-src]:https://github.com/onury/geolocator/tree/master/src/geo-ip-sources\n[example-img]: https://raw.github.com/onury/geolocator/master/screenshots/geolocator-example.jpg\n[npm-package]: https://www.npmjs.com/package/geolocator\n[releases]:https://github.com/onury/geolocator/releases\n[legacy-version]:https://github.com/onury/geolocator/releases/tag/v1.2.9\n[babel]:https://github.com/babel/babel\n[webpack]:https://github.com/webpack/webpack\n[docma]:https://github.com/onury/docma\n[google-docs]:https://developers.google.com/maps/documentation/javascript\n[google-console]:https://console.developers.google.com\n[chrome-unsecure]:https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only?hl=en\n[bug-884921]:https://bugzilla.mozilla.org/show_bug.cgi?id=884921\n[bug-675533]:https://bugzilla.mozilla.org/show_bug.cgi?id=675533\n","readmeFilename":"README.md","users":{"dwardoh":true,"aviral23":true,"kevbaker":true,"paraself":true}}