Проблема с отправкой объекта JSON через POST в Google Gears

Google Gears предоставляет API геолокации, который может принимать LAC-CELLId информацию и предоставлять lat-long данные. API подробно описан здесь: API геолокации Я использую PHP. Вот код, который я написал:

<?php $urlstring="http://www.google.com/loc/json"; $ch=curl_init($urlstring); $cell_towers = array(); $row=new stdClass(); $row->location_area_code=3311; $row->mobile_network_code=71; $row->cell_id=32751; $row->mobile_country_code=404; $cell_towers[]=$row; $param = array( 'host'=> 'localhost', 'version' => '1.1.0', 'request_address' => true, 'cell_towers' => $cell_towers ); $param_json=json_encode($param); //echo $param_json."<br />"; curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_POSTFIELDS,urlencode($param_json)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array("application/jsonrequest")); $result=curl_exec($ch); echo $result; 

?>

Ответ, который я получаю, это «ошибка анализа JSON». Что я делаю не так?