2014-03-04 69 views
0

我正在使用基於Here Maps的Web應用程序。關鍵幀上的搜索建議

我想執行其搜索建議功能<input type="text" />這是一個輸入計劃方向。

我想讓搜索建議出現在jQuery的keyup event上,就像Google地圖一樣。

這是到目前爲止我的代碼:

HTML

<input type="text" name="waypoints[]" id="waypoint-1" class="waypoint" /> 

一個基本的jQuery keyup事件處理程序

$('.waypoint').on('keyup', function() { 

}); 

而這裏的代碼,我應該使用,在documentation發現api explorer

var searchBox = new nokia.places.widgets.SearchBox ({ 
    targetNode: 'waypoint-1', 
    searchCenter: function() { 
     return { 
      latitude: 52.516274, 
      longitude: 13.377678 
     } 
    }, 
    onResults: function (data) { 
     console.log(data.results.items); 
    } 
}); 

如何在每次用戶釋放密鑰時顯示搜索建議?我應該在哪裏將SearchBox的代碼放入我的事件處理程序中以響應該事件?什麼是searchCenter參數?

回答

1

JavaScript SearchBox可以充當一體化小部件,您不需要添加額外的事件來處理按鍵。您可以按照所示進行初始化,但您需要確保targetNode與DOM中已存在的<DIV>id相匹配。 e.g你可以使用targetNode = waypoint1如果包括

<div id="waypoint1" class="main-search"> 
    <span class ="caption">Start:</span> 
    <div module="SearchBox"> 
    <input rel="searchbox-input" class="search-box-bckgrnd" type="text" /> 
    <div rel="searchbox-list" class="search-list"></div> 
    </div> 
</div> 

的工作路由例如可以在HERE Maps Community Examples可以找到以下。

searchCenter幫助定義搜索的位置上下文 - 最好在RESTful Places Documentation中描述。具體來說,它映射到at參數。另一種方法是將小部件附加到關聯的地圖上,該地圖將提供in參數。請注意,Widget在輸入至少三個字符後纔開始提供建議。

當然可以使用JQuery從零開始構建自己的Widget - 只需使用KeyUp,使用suggest endpoint創建REST請求並將結果字符串數組解析爲您所選擇的下拉列表。

+0

完美,這是我一直在尋找。非常感謝!不幸的是,Here Maps的文檔有很大的改進空間。 – PeterInvincible