как прослушать перетаскивание карты Google и получить центральный экран, как Ола, Uber

Прежде всего, ваш json недействителен. Вы можете проверить достоверность, например, здесь .

Как сказано, чтобы получить что-то похожее на ваш желаемый вывод json, вы можете сделать это как f

library(RJSONIO)

# recreating your matrix
m <- matrix(c(1,22,23,34,4,87,23,7,92),nrow=3,byrow=T)
colnames(m)<-c('X1','X2','X3')

# convert numeric matrix to character (if necessary)
m <- matrix(as.character(m),nrow=nrow(m))

# transform your matrix before turning into json    
p <- apply(m,MARGIN=1,FUN=function(r)list(Item=unname(r[1]),Recos=unname(r[-1])))

# jsonize
toJSON(p)

Результат:

[
    {
        "Item" : "1",
        "Recos" : ["22", "23"]
    },
    {
        "Item" : "34",
        "Recos" : ["4", "87"]
    },
    {
        "Item" : "23",
        "Recos" : ["7", "92"]
    }
]

EDIT (согласно вашему редактированию):

library(RJSONIO)

# recreating your matrix
m <- matrix(c(1,22,23,34,4,87,23,7,92),nrow=3,byrow=T)
colnames(m)<-c('X1','X2','X3')

# transform your matrix before turning into json    
p <- apply(m,MARGIN=1,
           FUN=function(r){
             list(itemID=unname(r[1]),
                  recommendedItems=lapply(unname(r[-1]),
                                          FUN=function(i)list(itemID=i)))
           })

# jsonize
toJSON(p)

Результат:

[{
        "itemID" : 1,
        "recommendedItems" : [{
                "itemID" : 22
            }, {
                "itemID" : 23
            }
        ]
    }, {
        "itemID" : 34,
        "recommendedItems" : [{
                "itemID" : 4
            }, {
                "itemID" : 87
            }
        ]
    }, {
        "itemID" : 23,
        "recommendedItems" : [{
                "itemID" : 7
            }, {
                "itemID" : 92
            }
        ]
    }
]

EDIT 2:

Вместо того, чтобы писать код для вас, я бы попытался объяснить, как структура R превращается в json пакетом RJSONIO.

Что касается json conversion я рассматриваю 3 «вид» объектов:

  1. неназванный список (или вектор)
  2. названный список (или вектор)
  3. вектор один элемент

1) Неименованный список (или вектор) элементов (например, v <- list('a','b','c')) переводится в json как:

[ element_1, element_2, element_3, ... ]

с element_n является n-м элементом списка. Конечно, каждый элемент списка может быть, в свою очередь, другим сложным объектом, который превращается в json, следуя 3 правилам, которые я описываю здесь.

2) Именованный список (или вектор) (например, n <- list(A="foo",B="bar")), переводится в json как:

{ "name_1": value_1, "name_2": value_2, ...  }

с name_n, являющимся именем n-го элемента именованного списка, и value_1 значением n-го элемента именованный список. Конечно, каждое значение именованного списка может быть, в свою очередь, еще одним сложным объектом, который превращается в json, следуя 3 правилам, которые я описываю здесь.

3) Как вы могли бы правильно указать, каждый объект в R - вектор. Даже a <- 1 является числовым вектором одного элемента. Итак, следуя двум предыдущим правилам, вы ожидаете, например, что list(x=1) будет переведен как { "x" : [ 1 ] }. Но благодаря параметру asIs (по умолчанию FALSE) функции toJSON, векторы (не списки) отдельных элементов считаются скалярами.

Приведем несколько примеров:

toJSON(list(list(A=2),1:3))
> '[ { "A": 2 }, [ 1, 2, 3 ] ]'

toJSON(list(A=list(1),B=list(C="X"),D=1))
> '{ "A": [ 1 ], "B": { "C": "X" }, "D": 1 }'

0
задан kriss 5 March 2019 в 04:30
поделиться

1 ответ

после обновления (google_maps_flutter ^ 0.5.7)

GoogleMap(
            onMapCreated: _onMapCreated,
            initialCameraPosition:
            CameraPosition(target: LatLng(28.556160, 77.100281)), // INDIA
            onCameraMove: ((pinPosition) {}),  // <-----pinPosition gives LatLong
          ),
0
ответ дан kriss 5 March 2019 в 04:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: