/g, ">"); s = s.replace(/\"/g, '"'); s = s.replace(/\'/g, '''); return s; } return s; }; if (isOninputSupported($('#place-input').get(0))) { $('#place-input').get(0).oninput = function () { suggest(); }; } else { $('#place-input').keyup(function () { suggest(); }); } var suggest = function () { $('#place-list').empty(); var oriQ = $('#place-input').val(); var q = oriQ.replace(/(^\s+)|(\s+$)/g, ''); if (q === '') { return; } var key = encodeURIComponent(q); if (placeCache[key]) { renderPlaceSuggestion(placeCache[key]); return; } var params = { 'q': q, 'limit': 20, 'lang': "zh_TW" }; var jqxhr = $.get( 'https://macauapi.com/v0/places/suggest', params, function (res) { if (res.ok === true && res.data) { var data = res.data; } else { return; } placeCache[key] = data; if (oriQ === $('#place-input').val()) { renderPlaceSuggestion(placeCache[key]); } }, 'jsonp' ); }; var renderPlaceSuggestion = function (data) { $('#place-list').empty(); var typeMap = { 'building': "建築物", 'stop': "巴士站", 'street': "街道", 'other': "其他" }; for (var i = 0, l = data.length; i < l; i++) { var d = data[i]; var name = escapeHTML(d.name); var lat = escapeHTML(d.lat); var lng = escapeHTML(d.lng); var type = escapeHTML(d.type) || 'other'; var locality = escapeHTML(d.locality); var description = typeMap[type]; if (type === 'business' && d.cat && d.cat.length > 0) { description = d.cat.join(', '); } if (locality !== '') { if (description.length > 0) { description += ' @ ' + locality; } else { description += locality; } } var link = $('' + '