从谷歌返回可能的地址匹配列表?

发布于 2024-10-20 04:08:54 字数 189 浏览 5 评论 0原文

我正在尝试向我的网络应用程序添加功能,允许用户输入地址估计,例如“麦当劳,底特律,密歇根州”,然后从可能的匹配列表中选择确切的地址。

我已经熟悉直接地理编码(地址 -> lat,lng)和反向地理编码(lat,lng -> 地址)。有谁知道我如何仅使用 google geocoding API 来完成上述任务?

谢谢!

I am trying to add functionality to a web app of mine that allows a user to enter an address estimation, for example "McDonalds, Detroit, MI", and then select the exact address from a list of possible matches.

I am already familiar with direct geocoding (address -> lat, lng) and reverse geocoding (lat, lng -> address). Does anyone know how I can accomplish the above using just the google geocoding API?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冰雪梦之恋 2024-10-27 04:08:54

当您对地址进行地理编码时,Google 会在响应中返回可能匹配的列表

对 main st 的地理编码请求返回纽约的 2 个结果、犹他州的 1 个结果、缅因州的 1 个结果等...

您只需解析响应即可获取不同的位置

When you geocode the address google returns a list of possible matches in the response

A geocode request for main st returns 2 results in new york, 1 in utah, 1 in maine, etc...

You just parse the response to get the different locations

日久见人心 2024-10-27 04:08:54

你不能。大多数情况下,Google 的地理编码器不会匹配营业地点。您想要的是本地搜索+地理编码的组合,或者地址建议服务,而Google的地理编码服务不提供这些服务。

You can't. Google's Geocoder will not match on business locations in the majority of cases. What you want is a combination of local search + geocoding, or a address suggest service, which Google's Geocoding service doesn't offer.

无尽的现实 2024-10-27 04:08:54

Galen 是对的,这是针对 V3 的工作代码 - 我在结果的 Placemarks 属性中找到了建议。在下面的示例中尝试使用地址=“Broad Street”。

if (geocoder) {
                geocoder.getLocations(
                address,
                function (results) {
                    if (!results) {
                        alert(address + " no suggestions");
                    } else {
                        $('#output').html('');
                        if (results.Placemark) {
                            for (var i = 0; i < results.Placemark.length; i++) {
                                $('#output').append(i + ': ' + results.Placemark[i].address + '<br/>');
                            }
                        }
                    }
                });
            }

Galen is right, here's working code against V3 - I found the suggestions in the Placemarks attribute of the results. Try address = "Broad Street" in the below example.

if (geocoder) {
                geocoder.getLocations(
                address,
                function (results) {
                    if (!results) {
                        alert(address + " no suggestions");
                    } else {
                        $('#output').html('');
                        if (results.Placemark) {
                            for (var i = 0; i < results.Placemark.length; i++) {
                                $('#output').append(i + ': ' + results.Placemark[i].address + '<br/>');
                            }
                        }
                    }
                });
            }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文