属性列表后缺少JSON输出}。(第19行,文件“代码”)

属性列表后缺少JSON输出}。(第19行,文件“代码”),json,output,Json,Output,我试着实现谷歌开发者的代码(@1:32) 但是我似乎在属性列表之后得到了“Missing}”(第19行,文件“Code”)“错误(latlng:[values[I][1],values[I][2],) 这是我的完整代码: var SPREADSHEET_ID = 'XXXXXXXXXXXXXXXXXXX'; var SHEET_NAME = 'Data'; function doGet(request) { var range = SpreadsheetApp.openById(SPRE

我试着实现谷歌开发者的代码(@1:32)

但是我似乎在属性列表之后得到了“Missing}”(第19行,文件“Code”)“错误(latlng:[values[I][1],values[I][2],)

这是我的完整代码:

var SPREADSHEET_ID = 'XXXXXXXXXXXXXXXXXXX';

var SHEET_NAME = 'Data';

function doGet(request) {
  var range = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME).getDataRange();
  var values = range.getValues();
  var cities = [];

for (var i = 1; i < values.length; i++)
{
  var city = {
    name: values[i][0]
    latlng: [values[i][1], values[i][2]],
    population: values[i][3] 
  };
cities.push(city);
}

var json = Utilities.jsonStringify(cities);

if (request && request.parameters) {
  var call back = request.parameters.jsonp;
  if (callback) {
    json = callback + '(' + json + ')'; 
}

  return ContentService.createTextOutput(json).setMimeType(ContentService.MimeType.JSON);
}
var电子表格\u ID='xxxxxxxxxxxxxxxx';
var表_名称='数据';
函数doGet(请求){
var range=SpreadsheetApp.openById(电子表格ID).getSheetByName(表格名称).getDataRange();
var values=range.getValues();
var cities=[];
对于(变量i=1;i

如何使此代码正常工作?非常感谢您的回复!

您缺少了一个
}
字符,我相信它应该就在您
返回代码底部的
行之前,它是
if(request&&request.parameters){
行的右括号。

语法无错误代码:

检查小提琴上报告为错误的注释

var SPREADSHEET_ID = 'XXXXXXXXXXXXXXXXXXX';

var SHEET_NAME = 'Data';

function doGet(request) {
    var range = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(SHEET_NAME).getDataRange();
    var values = range.getValues();
    var cities = [];

    for (var i = 1; i < values.length; i++) {
        var city = {
            name: values[i][0], //comma was missing
            latlng: [values[i][1], values[i][2]],
            population: values[i][3]
        };
        cities.push(city);
    }

    var json = Utilities.jsonStringify(cities);

    if (request && request.parameters) {
        var callback = request.parameters.jsonp; //there was a space between call and back
        if (callback) {
            json = callback + '(' + json + ')';
        }
    }
    return ContentService.createTextOutput(json).setMimeType(ContentService.MimeType.JSON);
}
var电子表格\u ID='xxxxxxxxxxxxxxxx';
var表_名称='数据';
函数doGet(请求){
var range=SpreadsheetApp.openById(电子表格ID).getSheetByName(表格名称).getDataRange();
var values=range.getValues();
var cities=[];
对于(变量i=1;i
谢谢,我的代码现在没有错误,我的地图也在android上运行。但是来自Google Drive的标记仍然不会显示在地图上!我完成了教程中的每一步。也许上面的脚本没有完成?我需要添加函数testDoGet(){var request={parameters:{jsonp:'callback'};var results=doGet吗(request);Logger.log(results.getContent());}???似乎与此处发布的问题不同。