3

Google マップの JSON リクエストを使用して住所から緯度と経度を取得し、ページに地図を表示しようとしています。

私の要求から作成されている URL は正常に機能し、JSON 情報を含む有効な URL を作成します。

http://maps.google.com/maps/api/geocode/json?address=<?php echo $_GET['q'];?>&sensor=false

しかし、私のページでエラーが発生し続けます:

ReferenceError: file_get_contents が定義されていません

そして、何も表示されていません。完全な HTML および JS コードは次のとおりです。

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places&language=iw"></script>
<script>
$geocode=file_get_contents("http://maps.google.com/maps/api/geocode/json?address=<?php echo     $_GET['q'];?>&sensor=false");

$output= json_decode($geocode);

$lat = $output.results[0].geometry.location.lat();
$lng = $output.results[0].geometry.location.lng();

var map;
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(32.069373, 32.069373), // numbers are here for testing
mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  map = new google.maps.Map(document.getElementById('map-canvas'),
  mapOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas"></div>

allow_url_fopen = On私のphp.iniにあることに注意してください。

4

2 に答える 2

11

問題は、script タグ内の php コードにありました。最初の部分を次のように変更しました。

<?php 
$geocode=file_get_contents("http://maps.google.com/maps/api/geocode/json?address=".$_GET['q']."&sensor=false");

$output= json_decode($geocode);

$lat = $output->results[0]->geometry->location->lat;
$lng = $output->results[0]->geometry->location->lng;
?>
于 2013-07-14T08:10:06.980 に答える
1

パーティーには少し遅れましたが、これは Google の Geocoding API の上に私が書いた Geocoding ライブラリで、住所から多くのものを取得できます。

http://github.com/hugobots/php-geocode

于 2015-01-04T15:02:55.597 に答える