使用自定义字段中指定的完整地址的Google地图上的地块位置

时间:2011-12-05 作者:Dean Elliott

有没有一种简单的方法可以使用自定义字段中指定的地址在谷歌地图上绘制位置?

例如,如果邮局指定了以下地址;

华盛顿特区西北宾夕法尼亚大道1600号,邮编20500

谷歌地图将自动显示在页面上,并在该确切位置上带有标记?

当然不会那么难。

我看了API,但什么也没说出来

1 个回复
最合适的回答,由SO网友:Alex Older 整理而成

Dean,你最好通过前端的JS来完成。

我使用以下函数将邮政编码转换为Lat和Lng:

function codeAddress(address){
    geocoder.geocode({
        \'address\': address
    }, function(results, status){
        if(status == google.maps.GeocoderStatus.OK){
            map.setCenter(results[0].geometry.location);
            map.setZoom(16);

            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location
            });

            markersArray.push(marker);      

            // BA Lng, za Lat 

            //console.log(results[0].geometry.location[\'Ba\']);

            document.getElementById("_supplier_maplatlong").value = results[0].geometry.location;

        }else{
            alert("Postcode not found");
        }
    });
}
然后,只需将邮政编码插入到隐藏的输入或其他内容中,然后按照以下方式进行操作:

if($(\'#_supplier_postcode\').val()){
        codeAddress($(\'#_supplier_postcode\').val());
    }
一旦你initialize() 明显地

结束

相关推荐