如何使用 Geocoder Php 获取州或省
How to get the State or Province using Geocoder Php
我想使用 Geocoder-php 反转地理编码坐标以获取地址。我可以使用 $geo = app('geocoder')->reverse($lat, $lng)->get()
.
获取地址集
根据 Geocoder 的 these docs found on github-php,您可以从集合中检索属性,例如使用 $geo->getStreetName()
获取街道名称,使用 $geo->getCity()
获取城市, country by using $geo->getCountry()
, etc, 但没有返回州或省的方法。
如何从集合中获取州或省?
我用$geo->getAdminLevels()->get()
可以看到省份。哪个returns
AdminLevelCollection {#900 ▼
-adminLevels: array:2 [▼
1 => AdminLevel {#901 ▼
-level: 1
-name: "Saskatchewan"
-code: "SK"
}
2 => AdminLevel {#902 ▼
-level: 2
-name: "Division No. 16"
-code: "Division No. 16"
}
]
}
但是我无法抢到省(萨斯喀彻温省)。
(我正在为 Laravel 项目使用 Laravel Geocoder。)
编辑:
$geo->getAdminLevels()->get(1)
给我这个
AdminLevel {#690 ▼
-level: 1
-name: "Saskatchewan"
-code: "SK"
}
但是$geo->getAdminLevels()->get(1)->name;
给我这个错误
Undefined property: Geocoder\Provider\GoogleMaps\Model\GoogleAddress::$getAdminLevels
解决办法就是这样调用;
$geo->getAdminLevels()->get(1)->getName();
get()
在此上下文中采用您希望 return.
的索引值
您可能需要检查 getAdminLevels()
和 get(1)
return 值是否有时 return 为空值。您可以通过实现 !empty($geo->getAdminLevels())
之类的东西来做到这一点
你可以做到
$geo->getAdminLevels()->get()->adminLevels[0]->name
或 $geo->getAdminLevels()->get()->adminLevels[1]->name
我想使用 Geocoder-php 反转地理编码坐标以获取地址。我可以使用 $geo = app('geocoder')->reverse($lat, $lng)->get()
.
根据 Geocoder 的 these docs found on github-php,您可以从集合中检索属性,例如使用 $geo->getStreetName()
获取街道名称,使用 $geo->getCity()
获取城市, country by using $geo->getCountry()
, etc, 但没有返回州或省的方法。
如何从集合中获取州或省?
我用$geo->getAdminLevels()->get()
可以看到省份。哪个returns
AdminLevelCollection {#900 ▼
-adminLevels: array:2 [▼
1 => AdminLevel {#901 ▼
-level: 1
-name: "Saskatchewan"
-code: "SK"
}
2 => AdminLevel {#902 ▼
-level: 2
-name: "Division No. 16"
-code: "Division No. 16"
}
]
}
但是我无法抢到省(萨斯喀彻温省)。
(我正在为 Laravel 项目使用 Laravel Geocoder。)
编辑:
$geo->getAdminLevels()->get(1)
给我这个
AdminLevel {#690 ▼
-level: 1
-name: "Saskatchewan"
-code: "SK"
}
但是$geo->getAdminLevels()->get(1)->name;
给我这个错误
Undefined property: Geocoder\Provider\GoogleMaps\Model\GoogleAddress::$getAdminLevels
解决办法就是这样调用;
$geo->getAdminLevels()->get(1)->getName();
get()
在此上下文中采用您希望 return.
您可能需要检查 getAdminLevels()
和 get(1)
return 值是否有时 return 为空值。您可以通过实现 !empty($geo->getAdminLevels())
你可以做到
$geo->getAdminLevels()->get()->adminLevels[0]->name
或 $geo->getAdminLevels()->get()->adminLevels[1]->name