2015-06-08 149 views
-1


我正在使用Wordpress開發一個網站,我使用的主題允許插入名爲「Property」的自定義帖子;此功能在自定義頁面模板中處理。在此頁面內,我可以添加具有自動填充地理編碼建議的地址。這裏是代碼:如何使用Google地圖地理編碼器獲取城市

this.initAutoComplete = function(){ 
      var addressField = this.container.find('.goto-address-button').val(); 
      if (!addressField) return null; 

      var that = thisMapField; 
      $('#' + addressField).autocomplete({ 
       source: function(request, response) { 
        // TODO: add 'region' option, to help bias geocoder. 
        that.geocoder.geocode({'address': request.term }, function(results, status) { 
         //$('#city').val(results.formatted_address); 

         response($.map(results, function(item) { 
          $('#city').val(item.formatted_address); 
          return { 
           label: item.formatted_address, 
           value: item.formatted_address, 
           latitude: item.geometry.location.lat(), 
           longitude: item.geometry.location.lng() 
          }; 
         })); 
        }); 
       }, 
       select: function(event, ui) { 
        that.container.find(".map-coordinate").val(ui.item.latitude + ',' + ui.item.longitude); 
        var location = new window.google.maps.LatLng(ui.item.latitude, ui.item.longitude); 
        that.map.setCenter(location); 
        // Drop the Marker 
        setTimeout(function(){ 
         that.marker.setValues({ 
          position: location, 
          animation: window.google.maps.Animation.DROP 
         }); 
        }, 1500); 
       } 
      }); 
     } 

當地址被點擊時,地圖繪製製造商與接收的座標。我想從點擊的地址中提取城市,並將該值放在另一個輸入字段中。我怎樣才能做到這一點?謝謝!

回答

2

看着documentation 你需要訪問address_components和尋找模式標本產地,政治,所以是這樣的:

var city = ''; 
item.address_components.map(function(e){ 
    if(e.types.indexOf('locality') !== -1 && 
     e.types.indexOf('political') !== -1) { 
     city = e.long_name; 
    } 
}); 

$('#city').val(city); 
相關問題