2014-02-17 2 views
1

Пытается вставить вставки в таблицу. Вот мой JSONОшибка функции загрузки встроенной карты Google Maps

{"features":[{"type":"Feature","geometry":{"type":"Point","coordinates":["-80.358681","27.643045"]},"properties":{"gx_id":"84","address":"9037 Somerset Bay Lane, Vero Beach Port St. Lucie FL 32963","name":"x","phone":"x","email":"x","vehicle":"Cadillac ATS"}},{"type":"Feature","geometry":{"type":"Point","coordinates":["-81.819611","26.380350"]},"properties":{"gx_id":"85","address":"3951 Lakemont Drive, Bonita Springs Fort Meyers FL 34134","name":"x","phone":"x","email":"x","vehicle":"Toyota Highlander"}},{"type":"Feature","geometry":{"type":"Point","coordinates":["-82.677773","27.427950"]},"properties":{"gx_id":"86","address":"6809 Gulf Of Mexico Dr Longboat Key Sarasota FL 34228","name":"x","phone":"x","email":"x","vehicle":"Cadillac SRX"}},{"type":"Feature","geometry":{"type":"Point","coordinates":["-82.677773","27.427950"]},"properties":{"gx_id":"87","address":"6809 Gulf Of Mexico Dr Longboat Key, Sarasota FL 34228","name":"x","phone":"x","email":"x","vehicle":"Cadillac SRX"}},{"type":"Feature","geometry":{"type":"Point","coordinates":["-81.818977","26.590782"]},"properties":{"gx_id":"88","address":"10381 McArthur Palm Lane, Fort Myers Fort Meyers FL 33950","name":"x","phone":"x","email":"x","vehicle":"Infinity M35"}},{"type":"Feature","geometry":{"type":"Point","coordinates":["-81.972443","28.908287"]},"properties":{"gx_id":"89","address":"The Villages, Lake Sumter Landing, Lady Lake Orlando FL 32162","name":"x","phone":"x","email":"x","vehicle":"VW Bettle"}}]} 

Вот мой Ajax

function sendBatch(tableID, data){ 
     dataString = data; 
     console.log(dataString); 
     var url = "https://www.googleapis.com/mapsengine/v1/tables/"+tableID+"/features/batchInsert"; 

     jQuery.ajax({ 
      type: "POST", 
      url: url, 
      data: dataString, 
      contentType: 'application/json', 
      headers: { 
       'Authorization': 'Bearer ' + authResult.access_token 
      }, 
      success: function(response) { 
       // Log the details of the Map. 
       console.log(response); 
      }, 
      error: function(response) { 
       response = JSON.parse(response.responseText); 
       console.log("Error: ", response); 
      } 
     }); 
    } 

Здесь ошибка я получаю

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "invalid", 
    "message": "The value is invalid.", 
    "locationType": "parameter", 
    "location": "id" 
    } 
    ], 
    "code": 400, 
    "message": "The value is invalid." 
} 
} 

Я проходящее в особенности, так что я не понимаю, почему это имеет проблему. У кого-нибудь есть мысли или идеи?

ответ

1

Трудно сказать, не зная, какие данные/dataString вы отправляете в API, но ошибка говорит о том, что «Значение недопустимо» в местоположении «id». Скорее всего, значение, которое вы предоставляете в столбце «id», неверно для схемы. То есть, если вы создали столбец с именем id, строки типа и вы отправляете двойной (например), то вы получите эту ошибку.

Следует отметить, что API требует, чтобы целые числа отправлялись как строки с котировками во избежание потери точности. Подробная информация находится в the docs.


EDIT: Я сумел создать таблицу и вставить JSON без проблем. Ошибка указывает на местоположение «id», которое, как мне кажется, соответствует Таблица ID, указанная в URL-адресе. Я сказал, что это может быть свойство свойства, но тогда местоположение будет выглядеть как «features [0] .properties.id». Ошибка также указывает «locationType» «параметра». Вы можете проверить свой параметр tableID и убедиться, что он действителен?

+0

Это первый блок кода, JSON над примером ajax @Mark –

+0

@BrentonPierce ничего себе я не могу поверить, что я пропустил это - извините !! –

+0

Нет проблем, я проверю это. Я регистрировал идентификатор, и он оказался действительным из «response.id» в предыдущем вызове для создания таблицы. Я проверю там и удостоверюсь, что получаю правильный «id» –

Смежные вопросы