我已经从https://github.com/tapvt/php-world-cities-array中提取了城市数组。除了美国以外,每个区域都是缩写的。
array (
'city' => 'Sant Julià de Lòria',
'region' => '06',
'country' => 'AD',
'latitude' => '42.46372',
'longitude' => '1.49129',
)由于许多国家有多个同名城市,我需要根据地区进行区分。为了显示区域,我需要比数字更多的东西来被用户识别。对美国来说,该地区以恰当的方式出现,但对于德国等其他国家来说,不幸的是,该地区的数字是人类无法读懂的。
我的问题是如何为php世界城市数组中的区域获取人类可读的名称?
发布于 2015-07-12 13:05:54
区域代码标识行政区域。例如,DE-01标识Badenürttemberg区域,下面是相应的记录:
array (
'city' => 'Stuttgart',
'region' => '01',
'country' => 'DE',
'latitude' => '48.78232',
'longitude' => '9.17702',
)要将区域代码01解码到Badenürttemberg,您必须构建另一个数组。您可以使用反向地理编码服务,如Google。例如:
https://maps.googleapis.com/maps/api/geocode/json?address=48.78232,9.17702&hl=en&sensor=false这将给你所有的名字在每一个政治行政级别。区域ID应该映射到省级别,或者"administrative_level_1“。在上面的示例中,如果使用short_name字段,这将解析为“Badenürttemberg”或"BW“。
在解码区域时,请记住构建一个数组。否则,会有太多的重复请求到地图API,您将得到的速率有限。
https://stackoverflow.com/questions/31367920
复制相似问题