小编Rub*_*ben的帖子

使用谷歌通过反向地理编码获取街道,城市和国家

我正试图从google json获取$ street,$ city和$ country字符串.它适用于我的家庭住址:http: //maps.googleapis.com/maps/api/geocode/json ?latlng = 52.108662,6.307370 &sensor = true

$url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=".$lat.",".$lng."&sensor=true";
    $data = @file_get_contents($url);
    $jsondata = json_decode($data,true);
    if(is_array($jsondata) && $jsondata['status'] == "OK")
    {
          $city = $jsondata['results']['0']['address_components']['2']['long_name'];
          $country = $jsondata['results']['0']['address_components']['5']['long_name'];
          $street = $jsondata['results']['0']['address_components']['1']['long_name'];
    }
Run Code Online (Sandbox Code Playgroud)

但对于具有更多数据的不同地址,如下例所示:http: //maps.googleapis.com/maps/api/geocode/json?lalng = 52.154184,6.199592&sensor = true 它不起作用,因为有json数组中的更多数据,它使该省成为国家.

如何选择我需要的类型(long_name)?

  • for street:long_name其中"types":["route"]
  • for city:long_name其中"types":["locality","political"]
  • for country:long_name where"types":["country","political"]

地理编码JSON的示例输出:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "89",
               "short_name" : "89",
               "types" : [ "street_number" ]
            },
            {
               "long_name" …
Run Code Online (Sandbox Code Playgroud)

php json google-maps geocoding

12
推荐指数
1
解决办法
3万
查看次数

如何重写URL的一部分?

我在我的网站上使用lightbox2,我希望我的观众下载图像.该按钮有效,它链接到/view/directory/image.jpg,下载按钮只显示图像.在PHP中,我制作了一个下载图像并在mysql中设置download + 1的脚本,我唯一不擅长的是JS.

lightbox2中的当前JS代码是:

this.$lightbox.find('.lb-download').on('click', function (e) {
    window.open(e.target.href)
  });
Run Code Online (Sandbox Code Playgroud)

由于href whitch显示图像,链接到/view/directory/image.jpg.我想让lb-download按钮转到/ 下载 /directory/image.jpg,我已经下载了工作,而不是JS中的window.open和preg_replace部分.

javascript window.open

0
推荐指数
1
解决办法
84
查看次数

标签 统计

geocoding ×1

google-maps ×1

javascript ×1

json ×1

php ×1

window.open ×1