Google Maps APIの利用超過で有料課金を避ける対策

Pocket

Google Maps API 、Embed APIを有効にし、API KEYを取得する。

API KEYをdefineしておく。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
define('GMAPS_API_KEY', 'AAAAAAAAA' );
define('GMAPS_API_KEY', 'AAAAAAAAA' );
define('GMAPS_API_KEY', 'AAAAAAAAA' );

 

 

Pronamic Google Maps のようなプラグインを使って、投稿ごとにreverse geocoding (address -> geocode)する

Pronamic Google Mapsでは、post metaにlatitude, longitudeを保存しているので、それをつかう。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$metas = get_post_custom( $post->ID );
if( isset( $metas['_pronamic_google_maps_latitude'] )){
$search = $metas['_pronamic_google_maps_latitude'][0] . ',' . $metas['_pronamic_google_maps_longitude'][0];
?>
<iframe
width="736"
height="400"
style="border:5px solid #0b005c;"
loading="lazy"
allowfullscreen
src="https://www.google.com/maps/embed/v1/place?key=<?php echo GMAPS_API_KEY; ?>
&q=<?php echo $search; ?>">
</iframe>
<?php
}
$metas = get_post_custom( $post->ID ); if( isset( $metas['_pronamic_google_maps_latitude'] )){ $search = $metas['_pronamic_google_maps_latitude'][0] . ',' . $metas['_pronamic_google_maps_longitude'][0]; ?> <iframe width="736" height="400" style="border:5px solid #0b005c;" loading="lazy" allowfullscreen src="https://www.google.com/maps/embed/v1/place?key=<?php echo GMAPS_API_KEY; ?> &q=<?php echo $search; ?>"> </iframe> <?php }
        $metas = get_post_custom( $post->ID );
        if( isset( $metas['_pronamic_google_maps_latitude'] )){
            $search = $metas['_pronamic_google_maps_latitude'][0] . ',' . $metas['_pronamic_google_maps_longitude'][0];
?>
<iframe
  width="736"
  height="400"
  style="border:5px solid #0b005c;"
  loading="lazy"
  allowfullscreen
  src="https://www.google.com/maps/embed/v1/place?key=<?php echo GMAPS_API_KEY; ?>
    &q=<?php echo $search; ?>">
</iframe>
<?php
        }

 

この記事を書いた人