当前位置: 首页 > 知识库问答 >
问题:

为什么谷歌地理编码api会返回不一致的json结果?

章侯林
2023-03-14

我正在尝试使用google geocode api从给定的位置字符串中提取lat/lng坐标。但是,返回的JSON结果不一致,我不确定原因:

  • 例1

API的电话

结果是

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Mit Nagy",
               "short_name" : "Mit Nagy",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Mit Nagy",
               "short_name" : "Mit Nagy",
               "types" : [ "administrative_area_level_3", "political" ]
            },
            {
               "long_name" : "Mit Ghamr",
               "short_name" : "Mit Ghamr",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Daqahlia",
               "short_name" : "Daqahlia",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Egypt",
               "short_name" : "EG",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Mit Nagy, Mit Ghamr, Daqahlia, Egypt",
         "geometry" : {
            "location" : {
               "lat" : 30.6705522,
               "lng" : 31.2912754
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 30.6801489,
                  "lng" : 31.3072828
               },
                "southwest" : {
                  "lat" : 30.6609546,
                  "lng" : 31.275268
               }
            }
         },
         "partial_match" : true,
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK" 
}

请注意,获取位置的继承权是response-

  • 例2

Api调用

结果是

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Markaz Itay Al Baroud",
               "short_name" : "Markaz Itay Al Baroud",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Beheira",
               "short_name" : "Beheira",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Egypt",
               "short_name" : "EG",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Markaz Itay Al Baroud, Beheira, Egypt",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 30.9757371,
                  "lng" : 30.7938058
               },
               "southwest" : {
                  "lat" : 30.7921464,
                  "lng" : 30.5296768
               }
            },
            "location" : {
               "lat" : 30.8891275,
               "lng" : 30.6660044
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 30.9757371,
                  "lng" : 30.7938058
               },
               "southwest" : {
                  "lat" : 30.7921464,
                  "lng" : 30.5296768
               }
            }
         },
         "partial_match" : true,
         "types" : [ "administrative_area_level_2", "political" ]
      }
   ],
   "status" : "OK"
}

在这种情况下,该位置不再位于几何图形键下:

响应-

API留档中的示例显示位置总是在几何键下,那么为什么它返回一个级别呢?


共有1个答案

太叔豪
2023-03-14

不是你为什么看到这些不一致的问题的答案,但是请在这里考虑Geocoder的一致结果。

API留档developer.here.com/geocoder每日免费限额为2500笔交易。

请参见以下两个查询您所在位置的示例:

麻省理工学院纳吉分校

https://geocoder.cit.api.here.com/6.2/geocode.json?searchtext=mit纳吉

马卡兹·伊泰·巴鲁德

https://geocoder.cit.api.here.com/6.2/geocode.json?searchtext=Markaz伊泰·巴鲁德

完全披露:我是这里地理编码器的产品经理。

 类似资料:
  • 我已经用自动完成和谷歌地理编码应用编程接口实现了谷歌地方应用编程接口。问题是结果似乎不正确。 有时自动完成列表中的一些选择结果根本没有地理编码,我得到的只是状态ZERO_RESULTS。 我知道Google Autocomplete也使用Places,而Google Geocode只使用邮政编码,这可能会有一些问题,但我如何限制Autocomplete只提供邮政编码结果呢。

  • 我有一些问题与谷歌地图地理编码api。 我正在使用谷歌地图,并尝试使用回调函数对地址进行地理编码: 以及html代码: 地图不显示。 但是,如果我打电话: 使用回调函数之外的固定lat和lng,一切正常。 有线索吗? 谢谢你宝贵的帮助:)

  • 我一直在使用Chromium谷歌语音API,最近我改用谷歌云语音API。自从Google云语音API发布以来,其性能在识别准确率方面似乎有所下降。此外,我还看到越来越多的“空结果”返回音频流。 我同时将音频流传输到多个不同的服务,谷歌云语音API返回空结果,而其他一些服务返回转录文本。让我想知道Chromium语音API和Google Cloud语音API的工作方式是否有任何改变? 我验证了音频的

  • 问题内容: 在Web Api中返回任何结果之前,我禁用了EF5中的延迟加载和代理创建。一切正常。但是,当我开始尝试获取其他实体时,一些JSON对象如下所示: 这是什么这是包含在结果列表中? 问题答案: 它来自JSON.NET序列化器。它保留对象引用。看一下。我猜想您的对象图中有一些循环引用,并且JSON.NET最好是在不崩溃的情况下不遗余力地序列化此EF结构(这是大多数JSON序列化程序将要做的事

  • 我正在尝试从shell命令使用Google的语音识别API,但我遇到了问题。 我的Shell文件包含以下代码: 记录-D plughw: 1,0-q-f cd-t wav-R 16000|flac-f--Best--samplughw=16000-s-otest.flac wget-q-U“Mozilla/5.0”--文件后测试。flac--标题“内容类型:音频/x-flac;速率=16000”-

  • 我用谷歌地图标记找到了一个答案,但是自从它死了,我就陷入了死胡同。 我想知道是否有人知道我将如何在我的网站上为用户复制此内容:https://www.google.ca/maps/place/Toronto,在m4n3m5/@43.7216028,-79.3771275,16z/数据=!3m1!4b1!4m5!3m4!10x89D4CD2E4F1652CD:0xee93f0117ea5797d!8