如何从纬度和经度点获取城市名称?
有没有办法使用 javascript 的谷歌地图 api 从纬度和经度点获取城市名称?
如果可以的话我可以看一个例子吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有没有办法使用 javascript 的谷歌地图 api 从纬度和经度点获取城市名称?
如果可以的话我可以看一个例子吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(14)
这称为反向地理编码
Google 文档:
http://code.google.com/apis/maps/documentation /geocoding/#ReverseGeocoding。
对 Google 地理编码 Web 服务的调用示例:
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true&key=YOUR_KEY
This is called Reverse Geocoding
Documentation from Google:
http://code.google.com/apis/maps/documentation/geocoding/#ReverseGeocoding.
Sample Call to Google's geocode Web Service:
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true&key=YOUR_KEY
这是一个完整的示例:
Here is a complete sample:
在node.js中我们可以使用node-geocodernpm模块 获取地址
从 lat、lng.、 geo.js
输出:
In node.js we can use node-geocoder npm module to get address from lat, lng.,
geo.js
output:
以下是 Google 地理编码网络服务的最新示例
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
只需更改
YOUR_API_KEY
到您从 Google Geocoding APIP/S:Geocoding API 位于地点下,而不是地图下;)
Here is the latest sample of Google's geocode Web Service
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
Simply change the
YOUR_API_KEY
to the API key you get from Google Geocoding APIP/S: Geocoding API is under Places NOT Maps ;)
以下代码可以很好地获取城市名称(使用 Google Map Geo API):
HTML
SCRIPT
Following Code Works Fine to Get City Name (Using Google Map Geo API) :
HTML
SCRIPT
BigDataCloud 也为此提供了一个很好的 API,也适用于 Nodejs 用户。
他们有免费的客户端API。而且用于后端,使用 API_KEY(根据配额)。
他们的 GitHub 页面。
代码如下:
BigDataCloud also has a nice API for this, also for nodejs users.
they have API for client - free. But also for backend, using API_KEY (free according to quota).
Their GitHub page.
the code looks like:
如果您不想使用 google geocoding API,则可以参考其他一些免费 API 进行开发。
例如,我使用 [mapquest] API 来获取位置名称。
您可以通过实现以下功能轻松获取位置名称
In case if you don't want to use google geocoding API than you can refer to few other Free APIs for the development purpose.
for example i used [mapquest] API in order to get the location name.
you can fetch location name easily by implementing this following function
这是使用 Promise 的现代解决方案:
并像这样调用它:
Promise 返回“then”中的地址对象或“catch”中的错误状态代码
Here's a modern solution using a promise:
And call it like this:
The promise returns the address object in 'then' or the error status code in 'catch'
与@Sanchit Gupta 相同。
在这部分中,
只需控制台结果数组
Same as @Sanchit Gupta.
in this part
just console the results array
以下代码对我来说效果很好
城市,
状态,
国家,
邮政编码
(使用谷歌地图地理API):
Following Code Works Fine For Me to Get
City,
state,
country,
zipcode
(Using Google Map Geo API) :
有许多可用的
“https://simplemaps.com/data/world-cities"
下载免费版本并使用一些在线转换器将 Excel 转换为 JSON,例如“http://beautifytools。 com/excel-to-json-converter.php”
这不好,因为使用某人的 IP 地址可能不好
用户认为你可以破解他们。
还提供其他免费和付费工具
There are many tools available
"https://simplemaps.com/data/world-cities"
download free version and convert excel to JSON with some online converter like "http://beautifytools.com/excel-to-json-converter.php"
which is not good because using IP address of someone may not good
users think that you can hack them.
other free and paid tools are available also
您可以在基于 Node 的 API 中使用此库进行反向地理编码:
https://github.com/ rapomon/geojson-places
You can use this library in your API based on Node to do reverse geocoding:
https://github.com/rapomon/geojson-places
公共函数 retornaCidade ( $lat, $lng )
public function retornaCidade ( $lat, $lng )
你可以使用纯 php 和 google geocode api 来做到这一点
you can do it with pure php and google geocode api