1
JavaScript 및 API에 대한 사전 프로그래밍 지식이 없으므로이 예제를 내 요구 사항에 맞게 만들려면 몇 가지 문제가 있습니다. select GitHub repo. 이 API를 사용하기 위해이 API를 적용하려고합니다 : https://api-adresse.data.gouv.fr/search/? .selectize.js 및 Shiny : 원격 API에서 선택 항목을 선택하십시오.
응답은 기능이 응답 $ 기능에 저장되는 GeoJSON 파일입니다. 각 기능에 대한 $ label 속성을 가져 오려고합니다.
여기까지 제가 한 것입니다. 나는 배열을 얻을 수 있지만, 항목 ... 드롭 다운에 표시되지 않습니다
UI :
########
# ui.R #
########
library(shiny)
fluidPage(
title = 'Selectize examples',
mainPanel(
selectizeInput('addresses', 'Select address', choices = '', options = list(
valueField = 'properties.label',
labelField = 'properties.label',
searchField = 'properties.label',
options = list(),
create = FALSE,
render = I("
{
option: function(item, escape) {
return '<div>' + '<strong>' + escape(item.properties.name) + '</strong>' + '</div>';
}
}" ),
load = I("
function(query, callback) {
if (!query.length) return callback();
$.ajax({
url: 'https://api-adresse.data.gouv.fr/search/?',
type: 'GET',
data: {
q: query
},
dataType: 'json',
error: function() {
callback();
},
success: function(res) {
console.log(res.features);
callback(res.features);
}
});
}"
)
))
)
)
서버 :
############
# server.R #
############
library(shiny)
function(input, output) {
output$github <- renderText({
paste('You selected', if (input$github == '') 'nothing' else input$github,
'in the Github example.')
})
}
당신의 도움에 감사드립니다.