2012-11-04 63 views
0

這裏是我當前的代碼:http://jsfiddle.net/9B84H/1/地理編碼按下按鈕 - 谷歌地圖

var current_place; 

function autosuggest() { 
    var input = document.getElementById('location'); 
    var options = { types: [], }; 
    var autocomplete = new google.maps.places.Autocomplete(input, options); 

    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     var place = autocomplete.getPlace(); 
     if (!place.geometry) { 
      current_place = null; 
      alert('Cannot find place'); 
      return; 
     } else { 
      current_place = place; 
      alert('Place is at:' + place.geometry.location); 
     } 
    }); 

} 

當你點擊從自動提示一個選項,它完美。但是,如果您只需鍵入內容並單擊搜索,則需要它運行與從自動提示中選擇選項時相同的地理代碼操作。我該怎麼做呢?

詩篇您必須單擊搜索按鈕來激活自動提示腳本

+0

聽起來像是你可能要綁定到結果集中的所有鏈接。 $(a)中.bind( '點擊',函數(){自動提示輸入(SELECTED_VALUE)});注意,這種解決方案需要你爲你的函數創建一個可通過的變量,或者創建一個處理鏈接值的特殊函數。 –

回答

0

由於current_place是全球IT可以在外面功能

var current_place; 

function autosuggest() { 
var input = document.getElementById('location'); 
var options = { 
    types: [], 
}; 
var autocomplete = new google.maps.places.Autocomplete(input, options); 

google.maps.event.addListener(autocomplete, 'place_changed', function() { 
    var place = autocomplete.getPlace(); 
    if (!place.geometry) { 
     current_place = null; 
     alert('Cannot find place'); 
     return; 
    } else { 
     current_place = place; 
     alert('Place is at:' + place.geometry.location); 
     doIt(); 
    } 
}); 

} 
function doIt(){ 
    alert(current_place.geometry.location); 
} 

訪問見JSFiddle

+0

謝謝你的回答。它似乎沒有與我在這裏嘗試的代碼一起工作:http://jsfiddle.net/9B84H/31/ –

+0

你需要切換自動完成或關閉 –

+0

我試過了。當你點擊自動完成的結果,但沒有點擊搜索時,運行地理編碼命令時,它可以正常工作。 –