在Google Maps API中确定单个LatLong的缩放级别

Ais*_*ina 6 google-maps

我在使用Google Maps API时遇到了一些麻烦; 我想确定特定地点的LatLong(例如,从城市的名称),然后将我的地图聚焦在它上面.LatLong部件正在工作,因此将地图置于该点的中心.但是,当我只有那个单点时,我无法弄清楚如何确定一个好的缩放级别.我不能只是去一些标准的缩放级别,它可能在大多数时候看起来很好,例如,当用户输入"俄罗斯"而不是"阿姆斯特丹"时会发生什么?一些帮助将不胜感激:)

Jac*_*eow 1

我有同样的问题,尼克·雷塔拉克的回答对我有用。为了提供更多详细信息,未记录的属性的名称是“ExtendedData”,其中包含“LatLonBox”,其中包含适当缩放级别的北、南、东和西边界。

例如,如果您要搜索“90210”,则输出如下(为了便于阅读,我对其进行了格式化):

{
    "id":"p1",
    "address":"Beverly Hills, CA 90210, USA",
    "AddressDetails":{
        "Accuracy":5,
        "Country":{
            "AdministrativeArea":{
                "AdministrativeAreaName":"CA",
                "SubAdministrativeArea":{
                    "Locality":{
                        "LocalityName":"Beverly Hills",
                        "PostalCode":{"PostalCodeNumber":"90210"}
                    },
                    "SubAdministrativeAreaName":"Los Angeles"
                }
            },
            "CountryName":"USA",
            "CountryNameCode":"US"
        }
    },
Run Code Online (Sandbox Code Playgroud)
     // This is what you're looking for
     "ExtendedData":{
         "LatLonBox":{
             "north":34.13919,
             "south":34.067018, 
             "east":-118.38971, 
             "west":-118.442796
         }
     },
Run Code Online (Sandbox Code Playgroud)
    "Point":{
        "coordinates":[-118.4104684,34.1030032,0]
    }
}
Run Code Online (Sandbox Code Playgroud)

但这没有记录,所以我不确定它是否能在 API 更改后继续存在。最好不要假设它总是存在,并定义一些合理的默认缩放值。