estimate_distance 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/estimate_distance.rb +30 -28
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2c29fcfa84063eda01dc19e71679145585f36be3
4
- data.tar.gz: bf14caf7bc36ae6a977bf0fdb445009a340bdb43
3
+ metadata.gz: 6f74141bc92c0aa24bc970e2c1661e9d8aaed3e4
4
+ data.tar.gz: 1e6c4beda3d571837e5549c4b418780c39127da7
5
5
  SHA512:
6
- metadata.gz: 1fe13591a668247b33c127e4e6954f60f1fe437f7a9a8964a3cfb8dbcf5c2cc22742de005621a2a369c631957144ce1f6436143ddfe254b09d300c0b0b5ea06b
7
- data.tar.gz: 5280c777a85ae29ed65f76c818c6968ab3a2d95593be364f68bd52c9d26f1c75c78a1f3078798f338c7a16c44b1aeac7fcdb54f781f3ff5bf8948d05f827d91e
6
+ metadata.gz: 0cbec2a0790329d7c3f6de543920a9a77558e8744a65c66aad11bf747a3ad8c01c8aa2c8c6d4f2df47041b2efdbc100bf58c0b86ef81d16e1deba8c6d453a3f4
7
+ data.tar.gz: ec6f421cb8774c25d107f858c4aadf29dd0ee14462948af9a46c52d826ac72bca39e36580d62030845eeb58d2430734a83a9545764244bcbe50f96e35bb3ea87
@@ -10,13 +10,22 @@ module EstimateDistance
10
10
  # [real_address.city.try(:name), real_address.district.try(:name), real_address.address].compact.join
11
11
  # end
12
12
 
13
- def self.location_address_info(address)
14
- params = {address: address, output: 'json', ak: 'dAYeNt1licEwUDKoyeNBskBQjHRKDDmb'}
15
- result = RestClient.get('http://api.map.baidu.com/geocoder/v2/', params: params)
16
- data = JSON(result)
17
- data['result']['location']
18
- rescue
19
- {}
13
+ def self.location_address_info(address, ak)
14
+ if ak == ''
15
+ params = {address: address, output: 'json', ak: 'dAYeNt1licEwUDKoyeNBskBQjHRKDDmb'}
16
+ else
17
+ params = {address: address, output: 'json', ak: ak}
18
+ end
19
+ request_info(params)
20
+ end
21
+
22
+ def self.request_info(params)
23
+ begin
24
+ result = RestClient.get('http://api.map.baidu.com/geocoder/v2/', params: params)
25
+ JSON(result)
26
+ rescue Exception=> e
27
+ return false
28
+ end
20
29
  end
21
30
 
22
31
  def self.get_rad(d)
@@ -34,27 +43,20 @@ module EstimateDistance
34
43
  return (s/1000).round(2)
35
44
  end
36
45
 
37
- # def self.calculate_distance(former_address, latter_address)
38
- # shop_detail_address = real_address(former_address)
39
- # shop_result = location_address_info(shop_detail_address)
40
- # puts shop_result
41
- # lat1 = shop_result['lat']
42
- # lng1 = shop_result['lng']
43
- # user_result = location_address_info(latter_address)
44
- # lat2 = user_result['lat']
45
- # lng2 = user_result['lng']
46
- # distance = get_great_circle_distance(lat1, lng1, lat2, lng2)
47
- # distance
48
- # end
46
+ def self.direct_calculate_distance(former_address, latter_address, ak='')
47
+ former_result = location_address_info(former_address, ak)
48
+ latter_result = location_address_info(latter_address, ak)
49
49
 
50
- def self.direct_calculate_distance(former_address, latter_address)
51
- former_result = location_address_info(former_address)
52
- lat1 = former_result['lat']
53
- lng1 = former_result['lng']
54
- latter_result = location_address_info(latter_address)
55
- lat2 = latter_result['lat']
56
- lng2 = latter_result['lng']
57
- distance = circle_distance(lat1, lng1, lat2, lng2)
58
- distance
50
+ if former_result['status'] == 0 && latter_result['status'] == 0
51
+ lat1 = former_result['result']['location']['lat']
52
+ lng1 = former_result['result']['location']['lng']
53
+
54
+ lat2 = latter_result['result']['location']['lat']
55
+ lng2 = latter_result['result']['location']['lng']
56
+ circle_distance(lat1, lng1, lat2, lng2)
57
+ else
58
+ return { status: -1 ,message: 'ak有误或超出调用次数'}
59
+ end
59
60
  end
61
+
60
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: estimate_distance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZouJun
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-15 00:00:00.000000000 Z
11
+ date: 2016-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  version: '0'
81
81
  requirements: []
82
82
  rubyforge_project:
83
- rubygems_version: 2.4.3
83
+ rubygems_version: 2.4.8
84
84
  signing_key:
85
85
  specification_version: 4
86
86
  summary: estimate distance