【问题标题】:Google Geocoding Duplicate Address issues谷歌地理编码重复地址问题
【发布时间】:2020-11-06 12:53:25
【问题描述】:

如果商店在给定地址中不存在,Google 地理编码器会找到最近的商店。 例如)当我尝试对这两个不同的位置进行地理编码时: (壳牌,5175 Walker Rd,温莎,N9A6J3,ON) (壳牌,3178 Dougall Ave,温莎,N9E1S6,ON)

自从 Walker rd 的 Shell 关闭后,Google 将返回 Shell 在 3178 Dougall Ave 的位置。 但是,由于我的工作名称(Shell)的性质无法取出,因为它需要商店的确切位置,我希望它显示地址本身的位置(坐标),而不是寻找最近的商店谷歌数据库中记录关闭或什至不存在的商店的名称相同。当然,如果在给定的地址中确实存在商店,则应计入商店名称。

是否有一个特殊的功能可以在商店存在时使用名称运行地理编码器,如果商店不存在则不使用名称运行它?

【问题讨论】:

    标签: google-maps gis geocoding google-geocoding-api


    【解决方案1】:

    如果您的目的是获得业务,您应该研究 Places API。请注意,Geocoding API 旨在处理街道地址,它并不总是返回与特定地址相关的企业。

    对于您的示例,我建议应用 Places API 的 Find Place 请求。

    对于第一个地址“Shell, 5175 Walker Rd, Windsor, N9A6J3, ON”,查找地点请求

    https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Shell%2C%205175%20Walker%20Rd%2C%20Windsor%2C%20N9A6J3%2C%20ON%7Ctextquery&inputtype=textquery&fields=formatted_address,geometry,name,place_id&key=YOUR_API_KEY

    返回以下候选对象

    {
      candidates: [
        {
          formatted_address: "5175 Walker Rd, Windsor, ON N9A 6J3, Canadá",
          geometry: {
            location: {
              lat: 42.239329,
              lng: -82.964381
            },
            viewport: {
              northeast: {
                lat: 42.24063827989272,
                lng: -82.96303847010729
              },
              southwest: {
                lat: 42.23793862010728,
                lng: -82.96573812989273
              }
            }
          },
          name: "WALKER ROAD MOBIL",
          place_id: "ChIJL-RKvyUpO4gRIGCJe4hvExU"
        },
        {
          formatted_address: "5175 Walker Rd, Windsor, ON N9A 6J3, Canadá",
          geometry: {
            location: {
              lat: 42.23932629999999,
              lng: -82.9643768
            },
            viewport: {
              northeast: {
                lat: 42.24063672989271,
                lng: -82.96303407010728
              },
              southwest: {
                lat: 42.23793707010727,
                lng: -82.96573372989272
              }
            }
          },
          name: "Shell",
          place_id: "ChIJXfjgKposO4gRR-AjWaZ2HXI"
        }
      ],
      status: "OK"
    }
    

    对于第二个地址“Shell, 3178 Dougall Ave, Windsor, N9E1S6, ON”,查找地点请求

    https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Shell%2C%203178%20Dougall%20Ave%2C%20Windsor%2C%20N9E1S6%2C%20ON%7Ctextquery&inputtype=textquery&fields=formatted_address,geometry,name,place_id&key=YOUR_API_KEY

    返回以下内容

    {
        candidates: [
        {
            formatted_address: "3178 Dougall Ave, Windsor, ON N9E 1S6, Canadá",
            geometry: {
                location: {
                    lat: 42.2688825,
                    lng: -83.0107531
                },
                viewport: {
                    northeast: {
                        lat: 42.27028142989272,
                        lng: -83.00927217010728
                    },
                    southwest: {
                        lat: 42.26758177010728,
                        lng: -83.01197182989273
                    }
                }
            },
            name: "Shell",
            place_id: "ChIJwZ78fRcsO4gR9Oyl2IVqB6o"
        }
        ],
        status: "OK"
    }
    

    所以你在这些回复中得到了两个地址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 1970-01-01
      相关资源
      最近更新 更多