গুগল স্ব-অসম্পূর্ণ ফলাফলগুলি কেবল শহর এবং দেশের মধ্যে সীমাবদ্ধ কীভাবে


198

আমি আমার সার্চবক্সের জন্য প্রস্তাবিত ফলাফলগুলি ফিরিয়ে আনতে গুগল স্বতঃপূরণ স্থান জাভাস্ক্রিপ্ট ব্যবহার করছি, আমার যা প্রয়োজন কেবল তা কেবল শহর এবং প্রবেশ করানো অক্ষরের সাথে সম্পর্কিত দেশটি দেখাতে হবে তবে গুগল এপিআই আমার প্রয়োজনীয় জায়গাগুলির অনেকগুলি সাধারণ ফলাফল দেবে, তবে কীভাবে কেবলমাত্র শহর এবং দেশ দেখানোর জন্য ফলাফল সীমাবদ্ধ করতে।

আমি নিম্নলিখিত উদাহরণ ব্যবহার করছি:

<html>
<head>
<style type="text/css">
   body {
         font-family: sans-serif;
         font-size: 14px;
   }
</style>

<title>Google Maps JavaScript API v3 Example: Places Autocomplete</title>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script>
<script type="text/javascript">
   function initialize() {
      var input = document.getElementById('searchTextField');
      var autocomplete = new google.maps.places.Autocomplete(input);
   }
   google.maps.event.addDomListener(window, 'load', initialize);
</script>

</head>
<body>
   <div>
      <input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on">
   </div>
</body>
</html>

উত্তর:


372

আপনি দেশের সীমাবদ্ধতার চেষ্টা করতে পারেন

function initialize() {

 var options = {
  types: ['(cities)'],
  componentRestrictions: {country: "us"}
 };

 var input = document.getElementById('searchTextField');
 var autocomplete = new google.maps.places.Autocomplete(input, options);
}

অধিক তথ্য:

আইএসও 3166-1 আলফা -2 নির্দিষ্ট গোষ্ঠীতে ফলাফল সীমাবদ্ধ করতে ব্যবহার করা যেতে পারে। বর্তমানে, আপনি দেশ অনুসারে ফিল্টার করার জন্য উপাদান উপাদানগুলি ব্যবহার করতে পারেন।

দেশটি অবশ্যই একটি দুটি অক্ষর হিসাবে পাস করতে হবে, আইএসও 3166-1 আলফা -2 সামঞ্জস্যপূর্ণ দেশ কোড।


সরকারীভাবে নিযুক্ত দেশের কোডগুলি


আপনি কি জানেন যে আমি কোনও মানচিত্র লোড না করে রাখলে স্বয়ংক্রিয় সম্পূর্ণ প্রশ্নের কোনও ব্যবহারের সীমা আছে কিনা? আমি জানি যে আমি মানচিত্র লোড করলে 25,000 ব্যবহারের সীমা থাকে
মিথিল

4
এটি আগস্ট 2014. কেবলমাত্র দেশ এবং শহরগুলি দেখানো ইতিমধ্যে সম্ভব? উদাহরণস্বরূপ, যখন আমি মিল টাইপ করি, ফলাফলটি মিলানের, বার্গামো, ইতালির। আমার কেবল ইতালির মিলান দরকার। একে একে সব দেশ যুক্ত করা কোনও বিকল্প নয়।
এরদোমিস্টার

2
একাধিক দেশ নির্দিষ্ট করা কি সম্ভব?
বার্ট

2
@ বার্ট স্পষ্টতই এটি সম্ভব নয়। আপনি যদি এই বৈশিষ্ট্যটি চান তবে দয়া করে এই সমস্যাটিকে তারকাচিহ্নিত করুন ।
dlsso

1
যদি আমরা প্রকারগুলি ব্যবহার করি: ['(শহরগুলি' '] তবে এটি আমাদের এখানে জিপ কোড দ্বারা অনুসন্ধান করতে অনুমতি দেবে না।
মোহনেশ অগ্রবাল

23

<html>
<head>
<style type="text/css">
   body {
         font-family: sans-serif;
         font-size: 14px;
   }
</style>

<title>Google Maps JavaScript API v3 Example: Places Autocomplete</title>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=places" type="text/javascript"></script>
<script type="text/javascript">
   function initialize() {
      var input = document.getElementById('searchTextField');
      var options = {
        types: ['geocode'] //this should work !
      };
      var autocomplete = new google.maps.places.Autocomplete(input, options);
   }
   google.maps.event.addDomListener(window, 'load', initialize);
</script>

</head>
<body>
   <div>
      <input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on">
   </div>
</body>
</html>

var options = {
  types: ['geocode'] //this should work !
};
var autocomplete = new google.maps.places.Autocomplete(input, options);

অন্যান্য ধরণের রেফারেন্স: http://code.google.com


1
গুগল থেকে এই কোডটি পরীক্ষা করে দেখুন। তারা একটি ফিল্টারিং উদাহরণ কোড. google.com/apis/maps/docamentation/javascript/…
UnLoCo

স্বতঃসম্পূর্ণ বস্তু দুটি ভেরিয়েবল গ্রহণ করবে না, কেবল একটি ভেরিয়েবল গ্রহণ করা যেতে পারে যা 'জিওকোড'। আমি জানি না কীভাবে এই সমস্যাটি সমাধান করা যায়। গুগল ডকুমেন্টেশন তালিকা প্রচুর প্রকারের তবে কোনওটিই গ্রহণ করা যায় না।
জনতা

একই পরামিতি জন্য কাজ করবে AutocompleteService?
স্টিভেন আগুইলার ২

12

এটা চেষ্টা কর

<html>
<head>
<style type="text/css">
   body {
         font-family: sans-serif;
         font-size: 14px;
   }
</style>

<title>Google Maps JavaScript API v3 Example: Places Autocomplete</title>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places&region=in" type="text/javascript"></script>
<script type="text/javascript">
   function initialize() {
      var input = document.getElementById('searchTextField');
      var autocomplete = new google.maps.places.Autocomplete(input);
   }
   google.maps.event.addDomListener(window, 'load', initialize);
</script>

</head>
<body>
   <div>
      <input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on">
   </div>
</body>
</html>

http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places "প্রকার =" পাঠ্য / জাভাস্ক্রিপ্ট "

এটিকে এটিকে পরিবর্তন করুন: "অঞ্চল = ইন" (ইন = ভারত)

" http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places®ion=in " টাইপ = "পাঠ্য / জাভাস্ক্রিপ্ট"


আমাদের শহরগুলির তালিকা, রাজ্যের তালিকা, অঞ্চলগুলির তালিকা এবং এর মতো দরকার
শাদাব কে

এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। ফলাফলটি অর্জনের সবচেয়ে সহজ এবং দ্রুততম উপায় যা ওপি'র জিজ্ঞাসা। এবং এটা আমার জন্য কাজ করে।
ব্যবহারকারী 2056633

9

উত্তর একটি দেশ থেকে সমস্ত শহর তালিকা ফ্রাঁসোয়া ফলাফল দ্বারা দেওয়া। তবে যদি প্রয়োজন হয় যে কোনও অঞ্চলে বা দেশের সমস্ত প্রতিষ্ঠানের (শহরগুলি + রাজ্যগুলি + অন্যান্য অঞ্চলসমূহ ইত্যাদি) তালিকাভুক্ত করা হয়, আপনি সেই অনুসারে পরিবর্তনগুলি অনুসারে ফলাফলগুলি ফিল্টার করতে পারবেন।

কেবলমাত্র দেশের শহরগুলি তালিকাবদ্ধ করুন

 var options = {
  types: ['(cities)'],
  componentRestrictions: {country: "us"}
 };

দেশের সমস্ত শহর, রাজ্য এবং অঞ্চলগুলির তালিকা দিন

 var options = {
  types: ['(regions)'],
  componentRestrictions: {country: "us"}
 };

সমস্ত প্রতিষ্ঠানের তালিকা তৈরি করুন - যেমন রেস্তোঁরা, দোকান এবং অফিসে offices

  var options = {
      types: ['establishment'],
      componentRestrictions: {country: "us"}
     };

আরও তথ্য এবং বিকল্প উপলব্ধ

https://developers.google.com/maps/documentation/javascript/places-autocomplete

আশা করি এটি কারও কাজে লাগবে


9

মূলত গৃহীত উত্তরের মতোই তবে নতুন ধরণের এবং একাধিক দেশের বিধিনিষেধের সাথে আপডেট হয়েছে:

function initialize() {

 var options = {
  types: ['(regions)'],
  componentRestrictions: {country: ["us", "de"]}
 };

 var input = document.getElementById('searchTextField');
 var autocomplete = new google.maps.places.Autocomplete(input, options);
}

'(regions)'পরিবর্তে ব্যবহার '(cities)'করে ডাক কোড পাশাপাশি শহরের নাম দিয়ে অনুসন্ধান করতে দেয়।

অফিসিয়াল ডকুমেন্টেশন দেখুন, টেবিল 3: https://developers.google.com/places/supported_tyype


8

আমি কিছুটা সময়ের জন্য গুগল অটোমম্পল্ট এপিআই এর সাথে ঘুরে বেড়াচ্ছি এবং কেবলমাত্র ফলাফলগুলিকে কেবলমাত্র দেশগুলিতে সীমাবদ্ধ করার জন্য আমি এখানে সেরা সমাধানটি পেয়েছি:

var autocomplete = new google.maps.places.Autocomplete(input, options);
var result = autocomplete.getPlace();
console.log(result); // take a look at this result object
console.log(result.address_components); // a result has multiple address components

for(var i = 0; i < result.address_components.length; i += 1) {
  var addressObj = result.address_components[i];
  for(var j = 0; j < addressObj.types.length; j += 1) {
    if (addressObj.types[j] === 'country') {
      console.log(addressObj.types[j]); // confirm that this is 'country'
      console.log(addressObj.long_name); // confirm that this is the country name
    }
  }
}

যদি আপনি ফিরে আসা ফলাফলটির দিকে লক্ষ্য করেন, আপনি দেখতে পাবেন যে একটি ঠিকানা_ উপাদান উপাদান রয়েছে যা কোনও ঠিকানার বিভিন্ন অংশের প্রতিনিধিত্বকারী বেশ কয়েকটি অবজেক্টগুলিকে ধারণ করবে। এই প্রতিটি বস্তুর মধ্যে এটিতে একটি 'প্রকার' অ্যারে থাকবে এবং এই 'প্রকারের' অ্যারের মধ্যে আপনি দেশের জন্য একটি ঠিকানা সহ আলাদা আলাদা লেবেল দেখতে পাবেন।


মার্কিন যুক্তরাষ্ট্রে কেবলমাত্র কয়েকটি নির্দিষ্ট রাজ্যের মধ্যে সীমাবদ্ধ করার কোনও উপায় আছে, বা এমনকি নির্দিষ্ট রাজ্যগুলিও বাদ দেওয়া উচিত?
মার্টিন এরলিক

@ স্যান্টাফাবাউন্ড আমি একই কাজ করার চেষ্টা করছি (অস্ট্রেলিয়ার একটি নির্দিষ্ট রাষ্ট্রের জন্য)। ডকুমেন্টেশন থেকে দেখে মনে হচ্ছে উত্তরটি 'না [এখনও]' নয়, তবে আমি প্রত্যাশা করছি যে responseঅবজেক্টটি আটকাতে এবং উপাত্তের অন্যান্য কী দ্বারা এটি সীমাবদ্ধ করার কোনও উপায় খুঁজে পাবেন ।
জিটি

4

এছাড়াও আপনার দেশের বিধিনিষেধের কারণে আপনাকে মানচিত্রটি জুম এবং কেন্দ্র করতে হবে!

শুধু জুম এবং কেন্দ্রের প্যারামিটার ব্যবহার করুন! ;)

function initialize() {
  var myOptions = {
    zoom: countries['us'].zoom,
    center: countries['us'].center,
    mapTypeControl: false,
    panControl: false,
    zoomControl: false,
    streetViewControl: false
  };

  ... all other code ...

}

4

আমি নিজের জন্য একটি সমাধান খুঁজে পেয়েছি

var acService = new google.maps.places.AutocompleteService();
var autocompleteItems = [];

acService.getPlacePredictions({
    types: ['(regions)']
}, function(predictions) {
    predictions.forEach(function(prediction) {
        if (prediction.types.some(function(x) {
                return x === "country" || x === "administrative_area1" || x === "locality";
            })) {
            if (prediction.terms.length < 3) {
                autocompleteItems.push(prediction);
            }
        }
    });
});

এই সমাধানটি কেবল শহর এবং দেশ দেখায় ..


আপনি কি স্বতঃপূরণের সাথে পূর্ণ কোডের তালিকাটি সরবরাহ করতে পারেন
ভোলডিমায়ার খোমিল

2
<html>
  <head>
    <title>Example Using Google Complete API</title>   
  </head>
  <body>

<form>
   <input id="geocomplete" type="text" placeholder="Type an address/location"/>
    </form>
   <script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places"></script>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

  <script src="http://ubilabs.github.io/geocomplete/jquery.geocomplete.js"></script>
  <script>
   $(function(){        
    $("#geocomplete").geocomplete();                           
   });
  </script>
 </body>
</html>

আরও তথ্যের জন্য এই লিঙ্কটি দেখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.