使用带密钥的gmaps api

时间:2015-11-26 17:17:29

标签: php json google-maps google-maps-api-3

我试图调用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键。最后一个链接,在浏览器上工作......所以我做错了什么?

谢谢。

1 个答案:

答案 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;
}