【发布时间】:2011-09-22 19:20:11
【问题描述】:
我正在努力将 Google 的 Places API 集成到网络应用程序中。我已经能够成功地创建代码以允许用户使用 API 搜索地点并在应用程序中显示结果,这很酷。
我一直想不通的是如何允许该应用的用户添加新地点。谷歌所说的东西是可行的。他们在这里有一些文档 -
https://code.google.com/apis/maps/documentation/places/#adding_a_place
但是没有示例代码,我在编写 PHP 代码来实现 add 调用时遇到了一些困难。
这是迄今为止我想出的代码。我在这里用 {your key} 替换了我的实际 API 密钥。
我不断收到格式错误的帖子错误 -
400。这是一个错误。 您的客户发出了格式错误或非法的请求。这就是我们所知道的。
<?php
function ProcessCurl($URL, $fieldString){ //Initiate Curl request and send back the result
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADERS, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('json'=>json_encode($fieldString)));
$resulta = curl_exec ($ch);
if (curl_errno($ch)) {
print curl_error($ch);
} else {
curl_close($ch);
}
echo $resulta;
}
$jsonpost = '{
"location": {
"lat": -33.8669710,
"lng": 151.1958750
},
"accuracy": 50,
"name": "Daves Test!",
"types": ["shoe_store"],
"language": "en-AU"
}';
$url = "https://maps.googleapis.com/maps/api/place/add/json?sensor=false&key={your key}";
$results = ProcessCurl ($url, $jsonpost);
echo $results."<BR>";
?>
【问题讨论】:
-
如果您展示您为尝试执行此操作而编写的代码将会很有帮助。
-
就像按照给定的格式做一个 POST 请求一样简单。有很多不同的方法可以做到这一点,如果您想要示例代码,向我们展示您已经在使用的内容会很有帮助。 (cURL?套接字?一些库?)
标签: php google-maps-api-3