Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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
Google maps v3谷歌地图地理编码API是否有表示准确性的字段?_Google Maps_Geocoding_Google Geocoder_Google Geocoding Api - Fatal编程技术网

Google maps v3谷歌地图地理编码API是否有表示准确性的字段?

Google maps v3谷歌地图地理编码API是否有表示准确性的字段?,google-maps,geocoding,google-geocoder,google-geocoding-api,Google Maps,Geocoding,Google Geocoder,Google Geocoding Api,我有一些代码正在从APIv2移植到v3。在旧代码中,我们在xml中返回了一个准确性字段(不确定名称,但它确实表示排序的置信水平)。在新的API中,我没有看到任何这样的字段 如果我把“美国俄勒冈州”放进搜索栏,我会得到5个匹配项。前两个是“俄勒冈州,美国”和“俄勒冈州,哦,美国”。它们都有“partial_match”=false。这似乎不对,一个似乎偏袒,另一个则不然。另外,他们回来的时候都是相同的“位置类型”(近似值)。事实上,所有匹配项都显示为非部分匹配项,并且具有相同的位置类型 我的问题是

我有一些代码正在从APIv2移植到v3。在旧代码中,我们在xml中返回了一个准确性字段(不确定名称,但它确实表示排序的置信水平)。在新的API中,我没有看到任何这样的字段

如果我把“美国俄勒冈州”放进搜索栏,我会得到5个匹配项。前两个是“俄勒冈州,美国”和“俄勒冈州,哦,美国”。它们都有“partial_match”=false。这似乎不对,一个似乎偏袒,另一个则不然。另外,他们回来的时候都是相同的“位置类型”(近似值)。事实上,所有匹配项都显示为非部分匹配项,并且具有相同的位置类型


我的问题是,结果集中的任何字段是否表达了对结果准确性的某种信心?在我的示例中,一个结果似乎比其他任何结果都要精确得多,以至于输入字符串与返回的QuickAddress字段完全匹配

两周,没有答案,所以这是我的解决方案

API将返回
屋顶
几何中心
插值范围
近似值


屋顶基本上是“死的”——API将地址解析为一栋建筑。除此之外,你会得到不同程度的“接近”。我的解决方案是使用返回的边界框来确定距离有多近。所以,若你们要一条街道(纽约州,纽约州,美洲大道),你们会得到一个巨大的边界框。问一个API认为是真实地址但不是屋顶的街道地址,你会得到一个非常小的边界框。我使用边界框的区域来确定结果的准确性。我准确/不准确的突破点是0.9E-6,但我认为你必须修改它,以确保你对这个数字感到满意

我发现这在根据0到9的分数更新旧版V2代码时很有用
//黑客将位置类型(字符串)转换为0-9地理编码分数,因为v3 API中不存在0-9地理编码分数

function get_numeric_score(results) {
switch(results[0].geometry.location_type){
        case "ROOFTOP":
            return 9;
        break;

        case "RANGE_INTERPOLATED":
            return 7;
        break;

        case "GEOMETRIC_CENTER":
            return = 6;
        break;

        case "APPROXIMATE":
            return 4;
        break;

        default:
            return 0;

    }
}

非常聪明。不会想到的。我用我们的“非屋顶”地址做了一些测试,发现范围很大。我们有四个细分,屋顶、街道(即街区或ZIP+4)、ZIP+2和ZIP。对于每种谷歌非屋顶位置类型,我都创建了逻辑来进一步分析精度,因为有时近似结果更像ZIP+4(在城市地区通常非常接近屋顶),而插值范围更像ZIP,我注意到的另一件事是,有时谷歌在屋顶上只显示街道地址,但添加了suite/unit/apt/which。。。即使lat/lon保持不变,也将其切换为近似值。这就是你的想法派上用场的地方。其他时候,只有街道地址近似,而添加子单元使其切换到屋顶。我看到了更多的第一个,即更多的数据,更少的“信心”。我正在考虑在逻辑上先尝试不使用子单元,如果不是屋顶,则尝试使用子单元。如果仍然不是屋顶,那么比较边界框并使用较小的边界框。@AndrewS谢谢,我觉得我是互联网这个特定角落中唯一的一个——我记得我从未得到过谷歌群组的答案。。。