2012-10-08 91 views
0

我有一個谷歌地圖API,它使谷歌地圖address.Here是代碼來獲取谷歌地圖API:獲取經度和緯度值

<input name="add" type="text" id="address" class="required" style="width: 500px;"> 
      <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU"></script> 
      <script> 
       var autocomplete = new google.maps.places.Autocomplete($("#address")[0], {}); 

       google.maps.event.addListener(autocomplete, 'place_changed', function() { 
       var place = autocomplete.getPlace(); 
       console.log(place.address_components); 
       }); 
      </script> 
     <!--code for Google address API--> 

現在我也想經度和緯度的輸入address.any一個有關於這個想法我怎麼能得到經度的值&輸入地址的緯度。

回答

1

我得到了答案:

 <script> 

     function cordinate() 
     { 
      geocoder = new google.maps.Geocoder(); // creating a new geocode object 
      // getting the address value 
      address1 = document.getElementById("address").value; 
      //alert(address1); 
       if (geocoder) 
      { 
      geocoder.geocode({ 'address': address1}, function(results, status) 
      { 
      if (status == google.maps.GeocoderStatus.OK) 
      { 
      //location of address (latitude + longitude) 
      var location1 = results[0].geometry.location; 
      document.getElementById("cor").value = location1; 

      //alert(location1); 
      } else 
      { 
      alert("Geocode was not successful for the following reason: " + status); 
      } 
      }); 

      }//end of If 

     } 
     </script> 
     <!--code for google address cordinates--> 
     <input type="hidden" name="cor" id="cor"> 
1

您可以使用該地點的幾何對象來獲取lat和lng。如果我輸入一個有效的目的地並從自動完成選項中選擇一個,以下方法適用於我。

<input name="add" type="text" id="address" class="required" style="width: 500px;"> 
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU"></script> 
<script> 
    var autocomplete = new google.maps.places.Autocomplete(document.getElementById('address')); 

    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     var place = autocomplete.getPlace(); 
     var geometry = place.geometry; 
     var location = geometry.location; 
     var latitude = location.lat(); 
     var longitude = location.lng(); 
     console.log(latitude); 
     console.log(longitude); 
    }); 
</script> 

甚至只是:

var place = autocomplete.getPlace(); 
var latitude = place.geometry.location.lat(); 
var longitude = place.geometry.location.lng(); 
+0

它給人的錯誤: 類型錯誤:location.lat不是一個函數 [打破這錯誤] \t var latitude = location.lat(); –

+0

好吧,讓我試試我自己的代碼,然後回覆你! – duncan

+0

它當然適用於我。我將在這個答案中發佈我的完整代碼。唯一的區別是我沒有爲自動完成選項傳遞一個空的{},並且我使用document.getElementById()而不是使用jquery選擇器 – duncan