Google maps Google地理编码API在不明确搜索查询中出现意外结果

Google maps Google地理编码API在不明确搜索查询中出现意外结果,google-maps,geocoding,google-geocoding-api,Google Maps,Geocoding,Google Geocoding Api,我使用谷歌地理编码API实现了在自定义地图中自动完成位置搜索。 我提出这样的要求: 我得到的回复只有一个结果: { results: [ { address_components: [ { long_name: "Frankfurt am Main", short_name: "Frankfurt am Main", types:

我使用谷歌地理编码API实现了在自定义地图中自动完成位置搜索。 我提出这样的要求:

我得到的回复只有一个结果:

    {
      results: [
        {
          address_components: [
            {
              long_name: "Frankfurt am Main",
              short_name: "Frankfurt am Main",
              types: [
                "locality",
                "political"
              ]
            },
            {
              long_name: "Darmstadt",
              short_name: "DA",
              types: [
                "administrative_area_level_2",
                "political"
              ]
            },
            {
              long_name: "Hessen",
              short_name: "HE",
              types: [
                "administrative_area_level_1",
                "political"
              ]
            },
            {
              long_name: "Deutschland",
              short_name: "DE",
              types: [
                "country",
                "political"
              ]
            }
          ],
          formatted_address: "Frankfurt am Main, Deutschland",
          geometry: {
            bounds: {
              northeast: {
                lat: 50.2272095,
                lng: 8.8003977
              },
              southwest: {
                lat: 50.0152145,
                lng: 8.4727299
              }
            },
            location: {
              lat: 50.1109221,
              lng: 8.6821267
            },
            location_type: "APPROXIMATE",
            viewport: {
              northeast: {
                lat: 50.2272095,
                lng: 8.8003977
              },
              southwest: {
                lat: 50.0152145,
                lng: 8.4727299
              }
            }
          },
          place_id: "ChIJxZZwR28JvUcRAMawKVBDIgQ",
          types: [
            "locality",
            "political"
          ]
        }
      ],
      status: "OK"
    }
问题是,回应应该包括德国所有的法兰克福。(美茵河畔法兰克福+奥德河畔法兰克福)。但它只是回应法兰克福,梅因。同样的事情也发生在其他地名上,理论上应该至少存在两次。但谷歌只是展示了一个。可能是最相关的

有没有办法改变这种情况?或者最好使用另一个地理编码服务


我尝试使用组件过滤器,但这并没有改变任何事情。

这是地理编码API的预期行为。最显著的结果将会回来。但是,您可以使用,它最多可以返回5条建议

您可以按国家/地区设置组件过滤器,并将类型限制为城市。请查看以下请求:

此请求返回“德国法兰克福”(地点ID ChIJxZZwR28JvUcRAMawKVBDIgQ)和“德国法兰克福奥德”(地点ID ChIJb_1aiqyb0crwdtew0ygiqq)

要进一步挖掘,您可以对每个地点ID执行地理编码请求:


希望能有所帮助。

在这个问题上,有几件事引起了我的注意,xomena的回答涵盖了所有问题,但有一件事:country[de]格式不正确,将被忽略,您需要使用country=de