- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何使用 API 搜索地名并获取城市名称和坐标?链接到他们的 API
最佳答案
当然这完全取决于您要执行的实际搜索。假设您要查找英国所有以 Lon
开头的位置。将执行此搜索的 URL(例如,实际搜索可能会发生很多变化)是:
http://api.geonames.org/search?name_startsWith=lon&country=GB&maxRows=10&username=demo
您可以在浏览器中弹出它并查看结果:
<geonames style="MEDIUM">
<totalResultsCount>334</totalResultsCount>
<geoname>
<toponymName>London</toponymName>
<name>London</name>
<lat>51.50853</lat>
<lng>-0.12574</lng>
<geonameId>2643743</geonameId>
<countryCode>GB</countryCode>
<countryName>United Kingdom</countryName>
<fcl>P</fcl>
<fcode>PPLC</fcode>
</geoname>
<geoname>
<toponymName>Lone</toponymName>
<name>Lone</name>
<lat>58.33333</lat>
<lng>-4.88333</lng>
<geonameId>2643732</geonameId>
<countryCode>GB</countryCode>
<countryName>United Kingdom</countryName>
<fcl>P</fcl>
<fcode>PPL</fcode>
</geoname>
<!-- and so on ... -->
</geonames>
请注意,您需要每个 geoname
下的 lat
和 lng
元素。使用 LINQ to XML(在命名空间声明中包括 System.Linq
和 System.Linq.Xml
):
var xml = XElement.Load("http://api.geonames.org/search?name_startsWith=lon&country=GB&maxRows=10&username=demo");
var locations = xml.Descendants("geoname").Select(g => new {
Name = g.Element("name").Value,
Lat = g.Element("lat").Value,
Long = g.Element("lng").Value
});
foreach (var location in locations)
{
Console.WriteLine("{0}: {1}, {2}", location.Name, location.Lat, location.Long);
}
当然,您可以选择以不同方式使用这些值,并且您可能希望将 Lat
和 Long
解析为 double 值。
关于c# - 如何使用 geonames API 获取城市名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10677471/
对于这个基本问题,我深表歉意,我刚刚开始使用 Geonames。 Ruby geokit gem 包含以下使用 Geonames 的说明: # To use this service either f
我正在尝试使用自动完成字段来查找位置,并且我看到此处显示的基于 Geobytes 数据库的 Jquery Mobile 示例: http://view.jquerymobile.com/1.3.1/d
我今天开始更加关注 angularJS,在我的项目中我需要 geonames。我想创建类似 jQuery UI 的带有 geonames 的自动完成功能 like this . 当我 console.
如果我将Geonames数据库导入MySQL或SQLite数据库,如何按经纬度查询数据库?我需要根据给定的地理位置(纬度和经度)找到当前的国家代码。换句话说,如果我有一个带有 gps 坐标的数据库,我
我有一份 the Geonames database存储在 MySQL 数据库中,以及一个允许用户在数据库中搜索他们所在城市的 PHP 应用程序。如果他们用英文输入城市名称,效果很好,但我希望他们能够
当我通过点击此 URL 请求特定国家/地区的城市时,获取了太多无用的 json 数据: http://api.geonames.org/searchJSON?username=ksuhiyp&coun
我有一个地点列表,我可以用地名中的 ID 来丰富这些地点。由于 geonames 默认情况下嵌入到 WikiData 中,因此我选择使用 WikiData 端点直接通过 SPARQL。 我的工作流程:
我在同时使用 select2 和 geonames 时遇到问题。我可以生成城市列表,但无法选择任何城市作为选择选项。 HTML Choisir une ville JS function fo
如何使用 API 搜索地名并获取城市名称和坐标?链接到他们的 API 最佳答案 当然这完全取决于您要执行的实际搜索。假设您要查找英国所有以 Lon 开头的位置。将执行此搜索的 URL(例如,实际搜索可
我会使用 API Geonames,但我的应用程序无法访问互联网。所以它必须独立运行。我看到有很多文件可以从 Geonames.org 下载,但是我没有看到任何软件可以帮助进行反向地理编码。我想提供纬
我对 GeoNames API 非常陌生,我需要一个分层结果,如果我选择大陆,它将显示所有国家/地区,如果我选择一个国家/地区,我需要获取所有州等。 大陆 --> 国家 --> 州 --> 地区/城市
我正在使用以下代码 php 获取时区: $url = 'http://api.geonames.org/timezone?lat=' . $latitude . '&lng=' . $longitud
我计划使用 geonames API,但实际上在本地使用 geonames 而不是使用他们的 web API 似乎更明智。所以我的问题是,有谁知道如何在本地与 geonames 数据交互? 我是否需要
我有来自示例网站的代码,但我想知道是否有人可以告诉我如何修改下面的代码以仅返回来自美国的结果。 这是我到目前为止的代码: $(function() { function log( mess
此Request.JSON http://mootools.net/demos/?demo=Request.JSON以这样的方式使用 JSON 数据, var data = {"previews":[
我正在向 Geonames Search api 发送 ajax 请求.它在 http 协议(protocol)上工作得很好。 但是当我切换到 https 时(我自己的服务器和 api 请求),我的请
我正在使用 http://api.geonames.org/findNearbyPostalCodes获取用户在文本框中键入的邮政编码半径 20 公里范围内的所有邮政编码。如果用户在文本框“8280”
我在加载 geonomes 数据集时遇到问题。这是我的过程: 首先我创建了我的数据库GEONAMES 然后我创建我的表: CREATE TABLE `geoname` ( `geonameid` in
你好,当用户在 map 中输入城市时,我正在尝试获取地震信息。现在我通过硬编码来制作边界框(geonames 地震 api 需要)。我想制作输入城市大小的边界框。我在 geocoder api v3
有人知道如何将 geonames.org 数据导入我的数据库吗?我要导入的是 http://download.geonames.org/export/dump/DO.zip ,而我的数据库是一个 My
我是一名优秀的程序员,十分优秀!