我使用以下方法反转地理编码谷歌地图latlng:
[GClientGeocoder.getLocations(address:String, callback:function)][1]
其中陈述如下:
由于此方法需要调用Google服务器,因此您还必须传递回调方法来处理响应。此响应将包含状态代码,如果成功,则包含一个或多个Placemark对象。
任何人都可以指出我对Placemark对象的确切参考,因为它似乎为不同的位置返回不同的属性。例如有时我得到一个通途名称,其他人得到一个地址线。我想了解我是否会总是得到其中一个或者其他是否可以互换。
答案 0 :(得分:1)
This page来自Google Maps API文档,其中包含对地标对象的非常直接的解释。
但是,您可能要关注的部分是它指出Google在地标中使用 AddressDetails 对象的格式,即 xAL(可扩展地址语言)。这里有一个指向规范的链接,它导致可下载的模式(xsd文件),它基本上定义了整个格式。提醒一句:规范非常广泛,但您可能不需要为项目担心大量问题。
编辑:
抱歉不允许为您添加相关页面的链接。
答案 1 :(得分:0)
你必须寻找它,但谷歌确实隐藏了some documentation about Placemarks。
答案 2 :(得分:0)
Placemark对象的内容根据可用数据而有所不同。我找到了解决问题的最佳方法是use JSON.stringify来检查响应(用于调试):
function onGeocode (resp)
{
document.getElementById("cd_output").innerHTML = JSON.stringify (resp);
}
当我在澳大利亚悉尼GeoCoded地址时,这给了我以下结果:
Placemark
{
id, address,
AddressDetails
{
Country, CountryNameCode, CountryName,
AdministrativeArea
{
AdministrativeAreaName,
Locality
{
LocalityName
Thoroughfare { ThoroughfareName }
PostalCode { PostalCodeNumber }
}
}
}
Accuracy,
ExtendedData
{
LatLonBox { north,south,east,west }
Point { coordinates }
}
}