Python Google Map API提供的OSM_type与文档不匹配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python Google Map API提供的OSM_type与文档不匹配相关的知识,希望对你有一定的参考价值。
我正在使用Google's Map API从Python中提取纬度和经度坐标的地址信息。如下面的代码所示,有一个名为osm_type
的属性,我认为是“开放的街道地图类型”。但是当我谷歌搜索文档时,我发现只是“类型”,我发现的所有列表都不包括“方式”作为预期的类型答案之一。有谁知道我在哪里可以获得对osm_type
有效的类型列表?
码:
from geopy.geocoders import Nominatim
geolocator = Nominatim()
from geopy.exc import GeocoderTimedOut
import time
lat = 43.2335233435383
lon = -70.9108497973799
location = geolocator.reverse(str(lat) + ", " + str(lon), timeout=10)
print(location.raw)
输出:
{'address': {'city': 'Dover',
'country': 'United States of America',
'country_code': 'us',
'county': 'Strafford County',
'house_number': '155',
'postcode': '03820',
'road': 'Long Hill Road',
'state': 'New Hampshire'},
'boundingbox': ['43.233423343538',
'43.233623343538',
'-70.91094979738',
'-70.91074979738'],
'display_name': '155, Long Hill Road, Dover, Strafford County, New Hampshire, 03820, United States of America',
'lat': '43.2335233435383',
'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',
'lon': '-70.9108497973799',
'osm_id': '18868744',
'osm_type': 'way',
'place_id': '201786637'}
据我所知,您使用的具体代码不支持返回type
。然而,用你的代码运行一些抽查,输入其他纬度和经度,我发现纽约的麦当劳产生了一个“节点”而不是“方式”的osm_type
,并且“方式”出现了很多。我得到了“节点”:纬度= 40.730949,经度= -74.001083。
如果不是查看Google Maps文档,而是查看Open Street Maps documentation,您会看到此字段最有可能定义数据类型而不是地址类型。这些类型由给定的URL定义:
- 节点
- 办法
- 关系
这应该回答在这种情况下“方式”对你意味着什么。
访问为Google Maps API定义的type可能需要不同的代码段(如果可能的话)。您正在使用的命令似乎在其输出中没有该字段。
这个位于searches位置的页面似乎表明“类型”是一个用于位置搜索的字段,用于缩小您要查找的内容。这些类型似乎不是您正在使用的API调用的一部分。
以上是关于Python Google Map API提供的OSM_type与文档不匹配的主要内容,如果未能解决你的问题,请参考以下文章
将纬度和经度放入距离矩阵,python中的google map API
Google Map Road API 没有插入路径,也没有给出平滑的路线
如何在 Google Map API v2 中处理地图的 onTouch 事件?
打开eclipse后应该怎样安装 Google map API ?在Android sDK Manager列表中没有找到Google map API 这应该