Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python Google Map API提供的OSM_类型与文档不匹配_Python 3.x_Google Maps Api 3 - Fatal编程技术网

Python 3.x Python Google Map API提供的OSM_类型与文档不匹配

Python 3.x Python Google Map API提供的OSM_类型与文档不匹配,python-3.x,google-maps-api-3,Python 3.x,Google Maps Api 3,我使用从Python中提取纬度和经度坐标的地址信息。如下面的代码所示,有一个名为osm_type的属性,我认为它是“开放街道地图类型”。但当我在谷歌上搜索文档时,我只找到了“类型”,而我找到的所有列表都没有将“方式”作为预期的类型答案之一。有人知道我在哪里可以得到对osm\U类型有效的类型列表吗 代码: 输出: {'address': {'city': 'Dover', 'country': 'United States of America', 'country_code': 'us'

我使用从Python中提取纬度和经度坐标的地址信息。如下面的代码所示,有一个名为
osm_type
的属性,我认为它是“开放街道地图类型”。但当我在谷歌上搜索文档时,我只找到了“类型”,而我找到的所有列表都没有将“方式”作为预期的类型答案之一。有人知道我在哪里可以得到对osm\U类型有效的类型列表吗

代码:

输出:

{'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'}

据我所知,您使用的特定代码不支持返回
类型
。然而,通过对你的代码进行一些抽查,输入其他纬度和经度,我发现纽约的一家麦当劳生产了一种
osm_类型
“node”而不是“way”,而且“way”出现了很多。我得到的节点是:纬度=40.730949,经度=-74.001083

如果您不查看Google Maps文档,而是查看,您将看到此字段很可能定义了数据类型,而不是地址类型。这些类型由给定的URL定义:

  • 节点
  • 方式
  • 关系
这应该回答“方式”在这种情况下对你意味着什么

访问为Google Maps API定义的应用程序可能需要一段不同的代码(如果可能的话)。您正在使用的命令的输出中似乎没有该字段


关于位置的这一页,似乎表明“类型”是位置搜索中用来缩小搜索范围的字段。这些类型似乎不是您正在使用的API调用的一部分。

我似乎重复了您的问题。帮助文档列出的是“类型”而不是“osm_类型”,也没有列出“方式”。是否有可能API中发生了一些变化,osm_类型被记录为“类型”,而“方式”是数据错误,或者是经过润滑的,但未在“润滑”部分中列出?请参阅此URL:
{'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'}