YandexLocator
Ruby gem for Yandex locator (https://tech.yandex.ru/locator/). Yandex locator is a service that finds mobile devices in a region delineated by a circle. The service returns longitude, latitude and precision.
Yandex locator can lookup by IP, wifi networks, gsm cells
Installation
Add this line to your application's Gemfile:
gem 'yandex_locator'
And then execute:
$ bundle
Or install it yourself as:
$ gem install yandex_locator
Usage
Configure gem credentials
YandexLocator.configure do |config|
config.api_key = 'api key'
config.version = '1.0'
end
or
client = YandexLocator::Client.new(api_key: 'api key', version: '1.0')
client.lookup(ip: { address_v4: '178.247.233.3' })
Make request
client = YandexLocator::Client.new(api_key: 'api key', version: '1.0')
result = client.lookup(ip: { address_v4: '178.247.233.3' })
result.position
# => {"altitude"=>0.0, "altitude_precision"=>30.0, "latitude"=>41.00892639160156, "longitude"=>28.96711158752441, "precision"=>100000.0, "type"=>"ip"}
result = client.lookup(
wifi_networks: [{
mac: 'ec:43:f6:d1:a2:1e'
}],
gsm_cells: [{
countrycode: 250,
operatorid: 99,
cellid: 12_082,
lac: 25_254
}],
ip: {
address_v4: '178.247.233.3'
}
)
result.position
# => {"altitude"=>0.0, "altitude_precision"=>30.0, "latitude"=>56.87141036987305, "longitude"=>60.61107635498047, "precision"=>1066.041137695312, "type"=>"gsm"}
Location Handle
result = client.lookup(ip: '176.69.53.253')
if result.position
# do thangs....
else
p result.error['text']
end
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/sergey-chechaev/yandex_locator.