<script
src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script type="text/javascript">
function GPSwork() {
for (var key in P) {
var add = P[key].Address;
document.write(add );
var res = addressGps(add);
document.write(res );
}
}
function addressGps(add) {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({address:add},function geoResults(results, status){
//回應函數 狀態ok說明有結果
if (status == google.maps.GeocoderStatus.OK) {
var ans = results[0].geometry.location;
document.write(ans);
}else{
alert(":error " + status);
}
});
}
</script>
P是一個陣列,有地址跟其他屬性的資訊,但是我只用的到地址
※ 引述《william01044 (阿瑋)》之銘言:
: 各位版友大家好
: 小弟我是javascript的初學者
: 我想請問各位關於Google取得經緯度的函式問題
: 我參考google api的範例寫出來的函式如下:
: function addressGps(add) {
: var geocoder = new google.maps.Geocoder();
: geocoder.geocode({address:add},function geoResults(results, status){
: //回應函數 狀態ok說明有結果
: if (status == google.maps.GeocoderStatus.OK) {
: var ans = results[0].geometry.location;
: //document.write(ans);
: return (ans);
: }else{
: alert(":error " + status);
: }
: });
: }
: 其中傳入的add變數是中文地址,我希望得到此地址轉出來的經緯度數字
: 但是用return傳出來ans變數,在外頭印出來卻是undefined
: 如果直接在此函式裏頭印,會印出全部搜尋過的地址的經緯度結果
: 我想請問各位版友,有沒有辦法單獨一個地址一個地址對應的方式去取得其經緯度的數值
: 而不是像現在這樣用return拿不到數值,或是一次印出一堆數值
: 謝謝大家