Google Maps Placemark对象的权威参考

时间:2009-07-10 11:33:03

标签: javascript google-maps geocoding

我使用以下方法反转地理编码谷歌地图latlng:

[GClientGeocoder.getLocations(address:String, callback:function)][1]

其中陈述如下:

由于此方法需要调用Google服务器,因此您还必须传递回调方法来处理响应。此响应将包含状态代码,如果成功,则包含一个或多个Placemark对象。

任何人都可以指出我对Placemark对象的确切参考,因为它似乎为不同的位置返回不同的属性。例如有时我得到一个通途名称,其他人得到一个地址线。我想了解我是否会总是得到其中一个或者其他是否可以互换。

3 个答案:

答案 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 }
    }
}