有人知道Google地图在显示搜索位置的纬度/经度时是否有任何默认设置?
我正在使用Google Maps Geocoding API查找用户输入的搜索地址的地理位置lat / lng值。我希望尽可能将结果与Google地图进行匹配 - 是否可以像使用API返回的第一个结果一样简单?
示例:如果我在Google地图中搜索“Kassel”,则lat / lng结果为51.3149724,9.3904035。
Google Maps result for searching "Kassel"
使用Google API搜索会产生两个结果,其中第一个结果的位置值比第二个结果更接近Google地图:
{
"results" : [
{
"address_components" : [
{
"long_name" : "Kassel",
"short_name" : "Kassel",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Kassel",
"short_name" : "KS",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Hesse",
"short_name" : "HE",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Germany",
"short_name" : "DE",
"types" : [ "country", "political" ]
}
],
"formatted_address" : "Kassel, Germany",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 51.36940509999999,
"lng" : 9.570128199999999
},
"southwest" : {
"lat" : 51.2603671,
"lng" : 9.3511015
}
},
"location" : {
"lat" : 51.3127114,
"lng" : 9.4797461
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 51.36940509999999,
"lng" : 9.570128199999999
},
"southwest" : {
"lat" : 51.2603671,
"lng" : 9.3511015
}
}
},
"place_id" : "ChIJHWx6n04_u0cRRxciWD1jhC8",
"types" : [ "locality", "political" ]
},
{
"address_components" : [
{
"long_name" : "Kassel",
"short_name" : "Kassel",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Biebergemünd",
"short_name" : "Biebergemünd",
"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" : "Germany",
"short_name" : "DE",
"types" : [ "country", "political" ]
},
{
"long_name" : "63599",
"short_name" : "63599",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "Kassel, 63599 Biebergemünd, Germany",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 50.2173498,
"lng" : 9.3059744
},
"southwest" : {
"lat" : 50.18299649999999,
"lng" : 9.271353399999999
}
},
"location" : {
"lat" : 50.2066898,
"lng" : 9.279060399999999
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 50.2173498,
"lng" : 9.286410699999999
},
"southwest" : {
"lat" : 50.2006739,
"lng" : 9.271353399999999
}
}
},
"place_id" : "ChIJG4zo1CMvvUcRQPWOqlJDIgo",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
}
],
"status" : "OK"
}
我能找到的唯一文档如下:
为什么Google Maps API地理编码器提供的位置与Google地图不同? API地理编码器和Google地图地理编码器有时会使用不同的数据集(具体取决于国家/地区)。 API地理编码器偶尔会使用新数据进行更新,因此您可以预期结果会随着时间的推移而发生变化或改善。
答案 0 :(得分:0)
(受过教育的猜测)
我相信Google地图还会根据您帐户中之前的地图和位置搜索为您提供结果。
很难相信他们使用提供给开发人员的相同API而没有重大改进。
结果还可能会考虑以前的网络搜索,您的位置等。
开发人员API只是他们使用的一小部分功能。
希望这有帮助!
答案 1 :(得分:0)
您无法将结果与Google地图完全匹配,因为Google Maps Geocoding API会返回受发送请求的地区(通常是国家/地区)影响的地址结果。例如,搜索“旧金山”可能会返回不同的结果,如果从美国境内的域发送,而不是从西班牙发送的域。
地理编码结果可能会对主要Google地图应用程序正式启动的每个域产生偏差。请注意,偏置仅优先于特定域的结果;如果在该域之外存在更多相关结果,则可以包含它们。
有关详情,请点击此link。