如何判断MKLocalSearch是否返回精确或近似的位置

时间:2014-12-16 22:15:44

标签: ios mapkit

我使用MKLocalSearch遇到了一个问题,我无法判断MKLocalSearch提供的结果是近似位置还是确切位置。

例如:

Feeding" 500 3rd st,San Francisco,CA,94107 to MKLocalSearch将返回该地址的确切坐标,因为这是一个准确的地址。

提供略微偏离的地址,例如" 500 3rd st,San Francisco,CA,94103",注意邮政编码错误,返回一个坐标与地址匹配的结果,坐标是近似值位置而不是实际位置。它停了几个街区。

问题是用户可能认为地址输入正确并且提供的坐标是确切的位置。

有没有办法区分近似结果和精确结果?

以下是上述两个查询的结果:

准确地址:

<MKLocalSearchResponse: 0x7faf9abea2a0> {
boundingRegion = "<center:+37.78081461, -122.39579073 span:+0.00068973, +0.00086888>";
mapItems =     (
    "<MKMapItem: 0x7faf97ae9aa0> {\n    isCurrentLocation = 0;\n    name = \"500 3rd St\";\n    placemark = \"500 3rd St, 500 3rd St, San Francisco, CA  94107, United States @ <+37.78081460,-122.39579056> +/- 0.00m, region CLCircularRegion (identifier:'<+37.78081461,-122.39579074> radius 54.08', center:<+37.78081461,-122.39579074>, radius:54.08m)\";\n}"
);
}

错误的拉链:

<MKLocalSearchResponse: 0x7faf97f3d560> {
    boundingRegion = "<center:+37.78398120, -122.39890034 span:+0.00317604, +0.00401865>";
    mapItems =     (
        "<MKMapItem: 0x7faf939ba240> {\n    isCurrentLocation = 0;\n    name = \"500 3rd St\";\n    placemark = \"500 3rd St, 500 3rd St, San Francisco, CA  94103, United States @ <+37.78398120,-122.39890030> +/- 0.00m, region CLCircularRegion (identifier:'<+37.78398120,-122.39890034> radius 249.57', center:<+37.78398120,-122.39890034>, radius:249.57m)\";\n}"
    );
}

0 个答案:

没有答案