gpt4 book ai didi

php - 谷歌距离矩阵 - 限制国家

转载 作者:搜寻专家 更新时间:2023-10-31 21:53:09 25 4
gpt4 key购买 nike

我正在使用 Google Distance Matrix API 来查找距两个位置的距离。我需要将搜索限制在英国,因为我遇到问题,如果您搜索不完整的邮政编码,即“L20”,Google 会立即建议在美国使用“L20”区域,这显然会导致搜索无法获得任何结果。

如何将 Google 的搜索条件限制为特定国家/地区?

这是我当前的代码:

function dist($addr, $addr2) {
$url = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=' . urlencode ( $addr ) . '&destinations=' . urlencode ( $addr2 ) . '&key=';
return getCachableContent ( $url );
}

最佳答案

您可以尝试使用 Google Geocoding API 和 Google Distance Matrix API 作为解决方案的一部分。 Geocoding API 将能够为给定地址提供国家/地区信息(参见 https://developers.google.com/maps/documentation/geocoding/start,例如 Google Geocoding API 输出)。

首先,您会将地址传递给 Geocoding API 以确定地址是否具有国家/地区值(在您的情况下为英国)。如果是,则继续将值传递给 Distance API。

更新 1:基于您的原始代码的示例代码

获取原始代码:

function dist($addr, $addr2) {
$url = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=' . urlencode ( $addr ) . '&destinations=' . urlencode ( $addr2 ) . '&key=';
return getCachableContent ( $url );
}

它可能看起来像这样:

function dist($addr, $addr2) {
$geocodeurl1 = 'https://maps.googleapis.com/maps/api/geocode/json?address=' . urlencode ( $addr ) . '&key=';

$geocodeurl2 = 'https://maps.googleapis.com/maps/api/geocode/json?address=' . urlencode ( $addr2 ) . '&key=';

//Then do some checking here to see if the country values for both returns above are UK based (e.g. if statements). If both are UK then proceed to perform your original call to the distancematrix
$distanceurl = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=' . urlencode ( $addr ) . '&destinations=' . urlencode ( $addr2 ) . '&key=';
return getCachableContent ( $distanceurl );
}

关于php - 谷歌距离矩阵 - 限制国家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37277139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com