我使用此功能来检索用户搜索目的地的结果,但这会获得来自世界的所有结果,我如何从某个国家/地区获得不同的结果
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);
});
}
答案 0 :(得分:1)
所以,从我在Places API参考中可以看出来的情况来看,这真的很难......
首先,而不是'at'使用'in' with a bounding box(即国家的边界框)以使粗略过滤工作。 获得结果后,查看每个place result's address属性并按address.country(或address.countryCode)过滤它们。