2011-10-16 7 views
5

मैं निम्नलिखित कोड का उपयोग कर रहा था, जो एक हफ्ते के लिए ठीक काम कर रहा था, मैं इस पर काम करने के लिए वापस आ गया हूं और अब यह काम नहीं कर रहा है। मैं केवल इलाकों को दिखाना चाहता हूं। Google के दस्तावेज़ "लोकेशन" को देखते हुए ऐसा करने का सही विकल्प है। मैं सोच रहा था कि शायद Google ने एपीआई या कुछ बदल दिया है। जैसे ही मैं इसे geocode पर स्विच करता हूं, यह काम करता है लेकिन सभी सड़कों और स्थानों को दिखाता है, जो मैं नहीं चाहता हूं। मैंने ["इलाके", "राजनीतिक"] के साथ-साथ कोई किस्मत भी नहीं की। मुझसे यहां क्या गलत हो रहा है?Google स्थल v3 API स्वत: पूर्ण - इलाके में काम नहीं कर सकता?

<script type="text/javascript"> 
    function initialize() { 

    var input = document.getElementById('searchTextField'); 

    var Newoptions = { 
     types: ["locality"] 
    }; 

    var autocomplete = new google.maps.places.Autocomplete(input,Newoptions); 

    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

<input id="searchTextField" name="member_location" value="" type="text" > 

उत्तर

1

इलाका हमेशा परिणामों में प्रदान नहीं की है, तो आप यदि आप कोई इलाके, administrative_area_level_3 तरह के साथ एक क्षेत्र में हैं फ़ॉलबैक प्रदान करने के लिए है, हालांकि केवल एक ही आप हमेशा मिल जाएगा देश है है, तो आप अंततः वहां पर गिरावट आती है।

+0

लेकिन ऐसा क्यों है? ऐसा इसलिए है क्योंकि Google मानचित्र API अभी तक उस भौगोलिक क्षेत्र के लिए लोकल को नहीं जानता/परिभाषित नहीं करता है। सिंगापुर जैसे देश? – ericn

0

अपने कोड में, आप

var Newoptions = { 
     types: ["locality"] //This is not proper types. 
    }; 

उपयोग प्रकार का इस्तेमाल किया है: [ '(क्षेत्र)'] इसके बजाय। फिर उस इलाके के फॉर्म को पुनः प्राप्त करें। नमूना कोड बोले हुए हैं और यह ठीक काम करता है।

autocomplete = new google.maps.places.Autocomplete(
    (document.getElementById('YOURsearchBOXID')), 
     { types: ['(regions)']}); 

     google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     var place = autocomplete.getPlace(); 

     for (var i = 0; i < place.address_components.length; i++) { 
      if(place.address_components[i].types[0] == "locality") 
      { 
       console.log(place['address_components'][i]['long_name']); 
      break; 
      } 
     } 

    }); 
संबंधित मुद्दे