lib/geocoder/lookups/baidu.rb in geocoder-1.4.9 vs lib/geocoder/lookups/baidu.rb in geocoder-1.5.0
- old
+ new
@@ -10,40 +10,44 @@
def required_api_key_parts
["key"]
end
- def query_url(query)
- "#{protocol}://api.map.baidu.com/geocoder/v2/?" + url_query_string(query)
- end
-
# HTTP only
def supported_protocols
[:http]
end
private # ---------------------------------------------------------------
+ def base_query_url(query)
+ "#{protocol}://api.map.baidu.com/geocoder/v2/?"
+ end
+
+ def content_key
+ 'result'
+ end
+
def results(query, reverse = false)
return [] unless doc = fetch_data(query)
case doc['status']
when 0
- return [doc['result']] unless doc['result'].blank?
+ return [doc[content_key]] unless doc[content_key].blank?
when 1, 3, 4
raise_error(Geocoder::Error, "server error.") ||
- Geocoder.log(:warn, "Baidu Geocoding API error: server error.")
+ Geocoder.log(:warn, "#{name} Geocoding API error: server error.")
when 2
raise_error(Geocoder::InvalidRequest, "invalid request.") ||
- Geocoder.log(:warn, "Baidu Geocoding API error: invalid request.")
+ Geocoder.log(:warn, "#{name} Geocoding API error: invalid request.")
when 5
raise_error(Geocoder::InvalidApiKey, "invalid api key") ||
- Geocoder.log(:warn, "Baidu Geocoding API error: invalid api key.")
+ Geocoder.log(:warn, "#{name} Geocoding API error: invalid api key.")
when 101, 102, 200..299
raise_error(Geocoder::RequestDenied, "request denied") ||
- Geocoder.log(:warn, "Baidu Geocoding API error: request denied.")
+ Geocoder.log(:warn, "#{name} Geocoding API error: request denied.")
when 300..399
raise_error(Geocoder::OverQueryLimitError, "over query limit.") ||
- Geocoder.log(:warn, "Baidu Geocoding API error: over query limit.")
+ Geocoder.log(:warn, "#{name} Geocoding API error: over query limit.")
end
return []
end
def query_url_params(query)