我试图调用GMaps-API在PHP中进行地理编码。当我使用它没有密钥它工作,但如果我使用它与URL上的密钥它不会返回任何值。如果我每天超过2.500的限制,我想按使用付费。
这样可行:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<ImageView
android:id="@+id/listIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="8dp"
android:src="@drawable/facebook" />
<TextView
android:id="@+id/listText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_toRightOf="@+id/listIcon"
android:padding="8dp"
android:text="Title" />
<TextView
android:id="@+id/listTextDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_toRightOf="@+id/listText"
android:padding="8dp"
android:text="Undertitle" />
</RelativeLayout>
这不起作用:
$peticion="http://maps.googleapis.com/maps/api/geocode/json?address=STA.+MARIA+MAGDALENA%2C+16,28016,MADRID&sensor=false";
$res=file_get_contents($peticion);
我在google开发者控制台上有一个api键。最后一个链接,在浏览器上工作......所以我做错了什么?
谢谢。
答案 0 :(得分:0)
解决。问题是下载https。使用以下内容:
function getSslPage($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}