2016-05-16 8 views
0

Ich benutze diese Funktion Ergebnisse der Benutzer Suche nach einem Ziel zurückzuholen, aber das bekommt alle Ergebnisse aus der Welt, wie kann ich unterschiedliche Ergebnisse aus bestimmten LandWie kann ich das Ergebnis meines Landes in den Karten hier abrufen?

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); 
      }); 


     } 

Antwort

1

Also, was ich in der sagen kann, Places API-Referenz, es ist überraschend schwer zu tun ...

Zuerst statt ‚at‘ verwendet 'in' with a bounding box (dh den Begrenzungsrahmen des Landes) grobe Filterung zur Arbeit zu kommen. Wenn Sie Ergebnisse erhalten, betrachten Sie jede place result's address Eigenschaft und filtern Sie sie nach address.country (oder address.countryCode).

+0

Danke für Ihre Hilfe. Da du die Situation nicht kennst, in die ich gesteckt wurde, ist mir deine Meinung egal (und selbst wenn du weißt, dass es mir egal ist). Upvoting und Kennzeichnung Ihrer Antwort als die beste. –

+0

Kennen Sie eine Möglichkeit, Länder mit Namen anstelle von Grenzwerten hinzuzufügen? (* Fühlen Sie sich frei, nicht zu antworten) –

+0

Sorry, wenn ich auf unhöflich stieß. Ich habe mich nicht auf Ihre Situation bezogen, ich war überrascht, dass ein einfacher Anwendungsfall wie der Ihre beim Lesen der Dokumentation keine einfache Lösung in der API zu haben scheint. Ich konnte keine Möglichkeit finden, nach Ländernamen zu filtern, weshalb ich die Bounding Box-Lösung vorgeschlagen habe. – echom

Verwandte Themen