Ответ 1
Я использую http://nominatim.openstreetmap.org для обратного поиска, он очень прост в использовании:
Существуют ли какие-либо веб-сервисы (платные или бесплатные), помимо API Карт Google, которые позволяют вам менять геокод?
У моего конкретного приложения будет доступ к широте и долготе, и мне нужно иметь возможность получить почтовый индекс или штат США.
Причина, по которой я не могу использовать Google, заключается в том, что Условия предоставления услуг, похоже, указывают на то, что если вы используете API Карт Google, вам необходимо использовать данные для отображения карты Google.
Я использую С#.Net framework в случае, если это релевантно.
Я использую http://nominatim.openstreetmap.org для обратного поиска, он очень прост в использовании:
Geonames может дать вам либо имя файла:
http://ws.geonames.org/findNearbyPlaceName?lat=40.65&lng=-73.78
или почтовый индекс:
http://ws.geonames.org/findNearbyPostalCodes?lat=40.65&lng=-73.78
Это бесплатно, если вы кредитуете их, и вам нужно менее 15000 поисковых запросов в день. Вы можете заплатить, если вам нужно больше.
Я не фанат MS. Но проверьте это: http://msdn.microsoft.com/en-us/library/ff859477.aspx
Похоже, что API RESTful Location Service не имеет каких-либо ограничений.
Вы можете использовать API поиска местоположения по точкам: http://msdn.microsoft.com/en-us/library/ff701710.aspx
Я опробовал образец для geoNames, результат не достаточно хорош для меня, так как мне нужна информация округа, и время отклика медленное.
$.getJSON('https://nominatim.openstreetmap.org/reverse', {
lat: position.coords.latitude,
lon: position.coords.longitude,
format: 'json',
}, function (result) {
console.log(result);
});
$.getJSON('https://secure.geonames.org/countryCode', {
lat: position.coords.latitude,
lng: position.coords.longitude,
type: 'JSON',
username: 'demo'
}, function (result) {
console.log(result);
});
ArcGIS предоставляет бесплатный (и платный) API:
https://developers.arcgis.com/rest/geocode/api-reference/geocoding-reverse-geocode.htm
Он предоставляет адрес для заданного местоположения (lat/lon). Он даже не требует ключа API, но они предлагают вам получить бесплатный, чтобы избежать ограничений по скорости.
Вот пример вызова API с ответом JSON:
Служба поиска Nominatim из MapQuest Open API является бесплатной и не имеет предела запроса (мягкий предел 1/сек).
http://open.mapquestapi.com/nominatim/v1/reverse.php?format=json&lat=44.0776182&lon=-92.5296981
TOS можно найти здесь
Взгляните на Geocoda - бесплатно до 1K прямых или обратных вызовов геокодирования в месяц, по разумной цене и больше.
Обновление февраль 2019 - Geocoda закрыта.