适用于Google Maps API的OVER_QUERY_LIMIT-通过PHP连接到客户端

达利设计

我们正在使用PHP脚本http://maps.googleapis.com/maps/api/geocode/xml连接到lon / lat,以将邮政编码地理编码。我们发现我们一直在达到OVER_QUERY_LIMIT状态。即使我们将邮政编码存储1天。

我想看一下客户端的地理编码,但不确定是否做到这一点。请有人可以看看这个,看看如何最好地重写它,这样我们才不会超出上限。

谢谢

<?php
//database and connection are defined elsewhere
mysql_select_db($database, $connection);

  //check if postcode exists in database

  $sqlTS1 = mysql_query("SELECT * FROM  `postcodestable` WHERE `postcode` = UPPER('" . $_GET['postcode'] . "') AND `date_added` >  DATE_SUB(NOW(), INTERVAL 1 DAY)");
  if(mysql_num_rows($sqlTS1)>0) {}
  else
  {     

        $postcodeTS1 = strtoupper($_GET['postcode']); // post code to look up 
        $request_url = "http://maps.googleapis.com/maps/api/geocode/xml?address=".$postcodeTS1."&sensor=true";
        $xml = simplexml_load_file($request_url) or die("url not loading");
        $status = $xml->status;
        if ($status=="OK") 
        {
   //request returned completed time to get lat / lang for storage
            $latTS1 = $xml->result->geometry->location->lat;
            $longTS1 = $xml->result->geometry->location->lng;
         }

  //insert into postcodes table for server side caching of lon lat

        $dateTS1= date('Y-m-d H:i:s');
        $sqlinsert="INSERT INTO postcodestable (postcode,latitude,longitude, date_added) VALUES ('".$postcodeTS1."', '".$latTS1."', '".$longTS1."', '".$dateTS1."')";
        $sqlinserting = mysql_query($sqlinsert) or die(mysql_error());

  }

// we can now use $latTS1 and $longTS1 elsewhere within the HTML page

// we then run another script that removes all postcodes from Table where date_added is greater than 1 day.

?>
达利设计

好吧,我环顾四周并编译了这个...

<?php
    mysql_select_db($database, $connection);

    $sqlTS1 = mysql_query("SELECT * FROM  `postcodestable` WHERE `postcode` = UPPER('" . $_GET['postcode'] . "')");
    if(mysql_num_rows($sqlTS1)>0) {echo "postcode is already in database";}
else { $postcode1 = strtoupper($_GET['postcode']);
?>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false;key=MYAPIKEY"></script>
<script type="text/javascript">
<!--
    function GetLocation() {
        var geocoder = new google.maps.Geocoder();
        var postcode = <?php echo json_encode($postcodeTS1); ?>;;
        geocoder.geocode({ 'address': postcode }, function (results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                var latitude = results[0].geometry.location.lat();
                var longitude = results[0].geometry.location.lng();

        $.post("insert.php",
          { postcode1: postcode, lat1: latitude, long1: longitude },
             function(data){
             }
          );
            } else {
            }
        });
    };
    //-->

    window.onload = GetLocation;
    </script>

    <?php
echo "postcode is not in database"; }
?>

然后我有insert.php文件,如果文件中未包含邮政编码,则将其插入。

<?php
    if (isset($_POST["postcode1"])) {
    mysql_select_db($database, $connection);
    $postcode2 = $_POST['postcode1'];
    $lat2 = $_POST['lat1'];
    $long2 = $_POST['long1'];
    $date2= date('Y-m-d H:i:s');
    $sqlinsert="INSERT INTO postcodestable (postcode, latitude, longitude, date_added) VALUES ('".$postcode2."', '".$lat2."', '".$long2."', '".$date2."')";
        $sqlinserting = mysql_query($sqlinsert) or die(mysql_error());
    }
?>

在网站的其他地方,我会清理旧的邮政编码,如果它们太旧了,以免使我的桌子膨胀。

<?php 
    mysql_select_db($database, $connection);
    $sql = "DELETE FROM postcodestable WHERE date_added < DATE_SUB(NOW(), INTERVAL 24 HOUR)";

    $result = mysql_query($sql) or die( "An error has ocured: " .mysql_error (). ":" .mysql_errno ());
?>

就是这样...它就像一种魅力。

感谢您的指导。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Google Maps API OVER_QUERY_LIMIT

来自分类Dev

适用于Python的Google Maps Engine API客户端库可创建表格资产

来自分类Dev

Google Maps地理编码OVER_QUERY_LIMIT

来自分类Dev

使用适用于Python的Google API客户端库连接到Google Analytics(分析)时,发生SSLHandshakeError

来自分类Dev

Google Maps API RadarSearch不适用于伦敦

来自分类Dev

延迟属性不适用于Google Maps API?

来自分类Dev

适用于PHP的Google API客户端中的required_once问题

来自分类Dev

通过Java客户端API连接到Google Big查询

来自分类Dev

适用于企业的Google Maps Mobile SDK与Google Maps Android API

来自分类Dev

Google Maps API v3导航(例如适用于Android的Google Maps)

来自分类Dev

适用于企业的Google Maps Mobile SDK与Google Maps Android API

来自分类Dev

连接到 Google Api 客户端时连接失败

来自分类Dev

适用于Windows Phone 8.1的Google Api任务客户端库

来自分类Dev

适用于多个客户端的Google Analytics(分析)API配额

来自分类Dev

适用于react项目,Javascript或Node-js的Google API客户端库?

来自分类Dev

Google云存储客户端API不适用于补丁

来自分类Dev

需要帮助,使用适用于PHP的Google API客户端库创建QPX Express请求

来自分类Dev

适用于Android的API客户端

来自分类Dev

适用于Google Maps v3的RichMarker-单击通过标记

来自分类Dev

适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

来自分类Dev

适用于本地主机的Google Maps v3 API无法正常工作

来自分类Dev

Slick.js不适用于Google Maps API中的infoBox.js

来自分类Dev

Google Maps API密钥不适用于所有环境

来自分类Dev

适用于Android的Google Maps API v2:标记和折线位置不匹配

来自分类Dev

适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

来自分类Dev

Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

来自分类Dev

Slick.js不适用于Google Maps API中的infoBox.js

来自分类Dev

适用于wifiAccessPoints的Google Maps Geolocation API返回未找到的地理位置

来自分类Dev

适用于Android棉花糖的Google Maps API中的getMyLocation()错误

Related 相关文章

  1. 1

    Google Maps API OVER_QUERY_LIMIT

  2. 2

    适用于Python的Google Maps Engine API客户端库可创建表格资产

  3. 3

    Google Maps地理编码OVER_QUERY_LIMIT

  4. 4

    使用适用于Python的Google API客户端库连接到Google Analytics(分析)时,发生SSLHandshakeError

  5. 5

    Google Maps API RadarSearch不适用于伦敦

  6. 6

    延迟属性不适用于Google Maps API?

  7. 7

    适用于PHP的Google API客户端中的required_once问题

  8. 8

    通过Java客户端API连接到Google Big查询

  9. 9

    适用于企业的Google Maps Mobile SDK与Google Maps Android API

  10. 10

    Google Maps API v3导航(例如适用于Android的Google Maps)

  11. 11

    适用于企业的Google Maps Mobile SDK与Google Maps Android API

  12. 12

    连接到 Google Api 客户端时连接失败

  13. 13

    适用于Windows Phone 8.1的Google Api任务客户端库

  14. 14

    适用于多个客户端的Google Analytics(分析)API配额

  15. 15

    适用于react项目,Javascript或Node-js的Google API客户端库?

  16. 16

    Google云存储客户端API不适用于补丁

  17. 17

    需要帮助,使用适用于PHP的Google API客户端库创建QPX Express请求

  18. 18

    适用于Android的API客户端

  19. 19

    适用于Google Maps v3的RichMarker-单击通过标记

  20. 20

    适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

  21. 21

    适用于本地主机的Google Maps v3 API无法正常工作

  22. 22

    Slick.js不适用于Google Maps API中的infoBox.js

  23. 23

    Google Maps API密钥不适用于所有环境

  24. 24

    适用于Android的Google Maps API v2:标记和折线位置不匹配

  25. 25

    适用于Android的Google Maps API 2“很遗憾,应用程序已停止。”

  26. 26

    Google Maps API GeoJSON不适用于IE 11,但可在Chrome中使用

  27. 27

    Slick.js不适用于Google Maps API中的infoBox.js

  28. 28

    适用于wifiAccessPoints的Google Maps Geolocation API返回未找到的地理位置

  29. 29

    适用于Android棉花糖的Google Maps API中的getMyLocation()错误

热门标签

归档