Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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
Javascript 如何找到给定的地址位于拉雷维尔的给定城市?_Javascript_Php_Laravel - Fatal编程技术网

Javascript 如何找到给定的地址位于拉雷维尔的给定城市?

Javascript 如何找到给定的地址位于拉雷维尔的给定城市?,javascript,php,laravel,Javascript,Php,Laravel,表中有两个字段,一个是city,另一个是address。我得弄清楚地址是否在市内。我怎样才能找到这个 用于获取城市的lat和lng 用于获取地址的lat和lng 在上面的代码中,我们可以找到地址和城市的lat long。但是,对于如何找到某个特定地址是否位于某个特定城市内,我们没有任何正确的想法。这里的城市和地址都是动态的。我是新来的。也在谷歌上搜索过,但没有找到任何合适的解决方案。您可以使用API响应中的地址组件获取城市: $response = json_decode(file_get_co

表中有两个字段,一个是city,另一个是address。我得弄清楚地址是否在市内。我怎样才能找到这个

用于获取城市的lat和lng 用于获取地址的lat和lng
在上面的代码中,我们可以找到地址和城市的lat long。但是,对于如何找到某个特定地址是否位于某个特定城市内,我们没有任何正确的想法。这里的城市和地址都是动态的。我是新来的。也在谷歌上搜索过,但没有找到任何合适的解决方案。

您可以使用API响应中的地址组件获取城市:

$response = json_decode(file_get_contents("http://maps.google.com/maps/api/geocode/json?address={$ogl_city}&sensor=false"));
$firstOption = $response[0];

for($i=0;$i<count($firstOption['address_components']);$i++)
{
    if (in_array ("administrative_area_level_1", $firstOption['address_components'][$i]['types']))
    {
        echo "city = ". $firstOption['address_components'][$i]['long_name'].PHP_EOL;
    }
}
$response=json\u decode(文件获取内容)http://maps.google.com/maps/api/geocode/json?address={$ogl_city}&sensor=false”);
$firstOption=$response[0];

对于($i=0;$i这可以回答你的问题吗?只需检查API响应中的地址组件如果API只返回城市的质心,那么没有可靠的方法来实现这一点。你需要以某种方式获得城市边界。然后只需确定一个点是否在多边形内。你知道如何确定c的边界吗是否使用api?我有一个随机地址和一个随机城市。我必须找到这个地址是否位于这个城市内。对此有任何想法。然后请共享。您可以搜索该特定城市的地址组件
$address_lat_lng = json_decode(file_get_contents("http://maps.google.com/maps/api/geocode/json?address={$ogl_address}&sensor=false"));
$address_lat = $address_lat_lng->results[0]->geometry->location->lat;
$address_long = $address_lat_lng->results[0]->geometry->location->lng;
$response = json_decode(file_get_contents("http://maps.google.com/maps/api/geocode/json?address={$ogl_city}&sensor=false"));
$firstOption = $response[0];

for($i=0;$i<count($firstOption['address_components']);$i++)
{
    if (in_array ("administrative_area_level_1", $firstOption['address_components'][$i]['types']))
    {
        echo "city = ". $firstOption['address_components'][$i]['long_name'].PHP_EOL;
    }
}