Skip to content
Snippets Groups Projects
Commit 4f56b9fc authored by Alex Reisner's avatar Alex Reisner
Browse files

Remove :ovi lookup.

No longer seems to exist.
parent ae39b480
No related branches found
No related tags found
No related merge requests found
......@@ -170,17 +170,6 @@ The [Google Places Search API](https://developers.google.com/places/web-service/
* **Limitations**: ?
* **Notes**: You can use the open (non-licensed) API by setting: `Geocoder.configure(mapquest: {open: true})` (defaults to licensed version)
### Ovi/Nokia (`:ovi`)
* **API key**: not required, but performance restricted without it
* **Quota**: ?
* **Region**: world
* **SSL support**: no
* **Languages**: English
* **Documentation**: http://api.maps.ovi.com/devguide/overview.html
* **Terms of Service**: http://www.developer.nokia.com/Develop/Maps/TC.html
* **Limitations**: ?
### Here/Nokia (`:here`)
* **API key**: required (set `Geocoder.configure(api_key: [app_id, app_code])`)
......
......@@ -39,7 +39,6 @@ module Geocoder
:mapquest,
:mapzen,
:opencagedata,
:ovi,
:pelias,
:pickpoint,
:here,
......
require 'geocoder/lookups/base'
require 'geocoder/results/ovi'
module Geocoder::Lookup
class Ovi < Base
def name
"Ovi"
end
def required_api_key_parts
[]
end
def query_url(query)
"#{protocol}://lbs.ovi.com/search/6.2/#{if query.reverse_geocode? then 'reverse' end}geocode.json?" + url_query_string(query)
end
private # ---------------------------------------------------------------
def results(query)
return [] unless doc = fetch_data(query)
return [] unless doc['Response'] && doc['Response']['View']
if r=doc['Response']['View']
return [] if r.nil? || !r.is_a?(Array) || r.empty?
return r.first['Result']
end
[]
end
def query_url_params(query)
options = {
:gen=>1,
:app_id=>api_key,
:app_code=>api_code
}
if query.reverse_geocode?
super.merge(options).merge(
:prox=>query.sanitized_text,
:mode=>:retrieveAddresses
)
else
super.merge(options).merge(
:searchtext=>query.sanitized_text
)
end
end
def api_key
if a=configuration.api_key
return a.first if a.is_a?(Array)
end
end
def api_code
if a=configuration.api_key
return a.last if a.is_a?(Array)
end
end
end
end
require 'geocoder/results/base'
module Geocoder::Result
class Ovi < Base
##
# A string in the given format.
#
def address(format = :full)
address_data['Label']
end
##
# A two-element array: [lat, lon].
#
def coordinates
fail unless d = @data['Location']['DisplayPosition']
[d['Latitude'].to_f, d['Longitude'].to_f]
end
def state
address_data['County']
end
def province
address_data['County']
end
def postal_code
address_data['PostalCode']
end
def city
address_data['City']
end
def state_code
address_data['State']
end
def province_code
address_data['State']
end
def country
fail unless d = address_data['AdditionalData']
if v = d.find{|ad| ad['key']=='CountryName'}
return v['value']
end
end
def country_code
address_data['Country']
end
def viewport
map_view = data['Location']['MapView'] || fail
south = map_view['BottomRight']['Latitude']
west = map_view['TopLeft']['Longitude']
north = map_view['TopLeft']['Latitude']
east = map_view['BottomRight']['Longitude']
[south, west, north, east]
end
private # ----------------------------------------------------------------
def address_data
@data['Location']['Address'] || fail
end
end
end
{
"Response": {
"MetaInfo": {
"Timestamp": "2013-02-08T16:26:39.382+0000"
},
"View": [
{
"_type": "SearchResultsViewType",
"ViewId": 0,
"Result": [
{
"Relevance": 1.0,
"MatchLevel": "houseNumber",
"MatchQuality": {
"State": 1.0,
"City": 1.0,
"Street": [
1.0
],
"HouseNumber": 1.0
},
"MatchType": "pointAddress",
"Location": {
"LocationId": "NT_ArsGdYbpo6dqjPQel9gTID_4",
"LocationType": "point",
"DisplayPosition": {
"Latitude": 40.7504692,
"Longitude": -73.9933777
},
"NavigationPosition": [
{
"Latitude": 40.7500305,
"Longitude": -73.9942398
}
],
"MapView": {
"TopLeft": {
"Latitude": 40.7515934,
"Longitude": -73.9948616
},
"BottomRight": {
"Latitude": 40.7493451,
"Longitude": -73.9918938
}
},
"Address": {
"Label": "4 Penn Plz, New York, NY 10001, United States",
"Country": "USA",
"State": "NY",
"County": "New York",
"City": "New York",
"Street": "Penn Plz",
"HouseNumber": "4",
"PostalCode": "10001",
"AdditionalData": [
{
"value": "United States",
"key": "CountryName"
},
{
"value": "New York",
"key": "StateName"
}
]
}
}
}
]
}
]
}
}
{
"Response": {
"MetaInfo": {
"Timestamp": "2013-02-08T16:41:16.723+0000"
},
"View": []
}
}
# encoding: utf-8
$: << File.join(File.dirname(__FILE__), "..", "..")
require 'test_helper'
class OviTest < GeocoderTestCase
def setup
Geocoder.configure(lookup: :ovi)
end
def test_ovi_viewport
result = Geocoder.search("Madison Square Garden, New York, NY").first
assert_equal [40.7493451, -73.9948616, 40.7515934, -73.9918938],
result.viewport
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment