2016-05-16 34 views
0

どのようにIだから、特定の国からの明確な結果ここのマップで私の国の結果を取得するにはどうすればよいですか?

function getPlace() { 
      setLoadingIcons(true); 
      var places = platform.getPlacesService(), 
       entryPoint = H.service.PlacesService.EntryPoint, 
       txtSearch = document.getElementById('txtSearch'); 
      places.request(entryPoint.SEARCH, { 'at': _HEREmap.getCenter().lat + ',' + _HEREmap.getCenter().lng, 'q': txtSearch.value, 'size': 5 }, function (response) { 
       var items = response.results.items; 
       var placeHTML = '<div><a href="#" onclick="return showMapForDistination({LAT}, {LNG});"> <input hidden name="lat" value="{LAT}"><input hidden name="lat" value="{LNG}">{TITLE} <img src="Images/navigation Icon.png" id="arr" width="15" /> </a></div>'; 
       var html = ''; 
       for (var i = 0; i < items.length; i++) { 
        html += placeHTML.replace("{TITLE}", items[i].title).replace("{LAT}", items[i].position[0]).replace("{LNG}", items[i].position[1]); 
       } 
       document.getElementById('divSearchResult').innerHTML = html + '<div id="divCnclBtn"><img src="Images/Cancel Button.png" id="cnclBtn" onclick="onSearchTextBlur();"></div>'; 
       document.getElementById('divSearchResult').style['display'] = 'block'; 
       setLoadingIcons(false); 
      }, function (resp) { 
       //console.log('ERROR: ' + resp); 
       setLoadingIcons(false); 
      }); 


     } 

答えて

1

、私が言うことができるものとすることができ、私は先のユーザー検索の結果を取得するために、この機能を使用しますが、これは世界からすべての結果を取得しますプレースメントAPIの参照、それは驚くほど難しいです...

まず、 'at'の代わりに、粗いフィルタリングを働かせるために'in' with a bounding box(すなわち、国の境界ボックス)を使用してください。 結果が得られたら、place result's addressの各プロパティを確認し、address.country(またはaddress.countryCode)でフィルタリングします。

+0

ご協力いただきありがとうございます。あなたは私が入れられた状況を知らないので、私はあなたの意見を気にしません(あなたが知っていても私は気にしません)。 あなたの答えをアップしてマーキングするのが最善の方法です。 –

+0

境界線の代わりに国名を追加する方法をご存知ですか? (*私は答えてくれません) –

+0

申し訳ありませんが、私が無礼に出会った場合。私はあなたの状況に言及していませんでしたが、私はドキュメントを読んで、APIの簡単な解決策を持っていないような簡単なユースケースがあることに驚きました。私は国名でフィルタリングする方法を見つけることができませんでした。そのため、バウンディングボックスソリューションを提案しました。 – echom

関連する問題