
#はじめに
- PHP、及びJSONの練習を兼ねてフォームで入力した文字列に反応して緯度、経度を割り出すプログラムを作りたいと考えています。
- 最終的には、この緯度、経度を使って地図にマッピング、表示までする予定です。受け取った値を、JSのプログラムに渡すつもりです。
#プログラム、及び受け取った値
実行プログラムはこちらです。表示までで進めているので、まだ途中です。
PHP
1<?php 2 $place = $_POST['text']; 3 $placeURL = "https://maps.googleapis.com/maps/api/geocode/json?address=".$place."&key=YOUR_API_KEY"; 4 $contents = file_get_contents($placeURL); 5 $array = json_decode($contents, true); 6 $arrayVal = array_values($array); 7 var_dump($arrayVal); 8 ?>
ブラウザに表示される値はこちらです。
array(2) { [0]=> array(1) { [0]=> array(5) { ["address_components"]=> array(2) { [0]=> array(3) { ["long_name"]=> string(5) "Tokyo" ["short_name"]=> string(5) "Tokyo" ["types"]=> array(3) { [0]=> string(27) "administrative_area_level_1" [1]=> string(8) "locality" [2]=> string(9) "political" } } [1]=> array(3) { ["long_name"]=> string(5) "Japan" ["short_name"]=> string(2) "JP" ["types"]=> array(2) { [0]=> string(7) "country" [1]=> string(9) "political" } } } ["formatted_address"]=> string(12) "Tokyo, Japan" ["geometry"]=> array(4) { ["bounds"]=> array(2) { ["northeast"]=> array(2) { ["lat"]=> float(35.8986468) ["lng"]=> float(153.9876916) } ["southwest"]=> array(2) { ["lat"]=> float(24.2241404) ["lng"]=> float(138.942758) } } ["location"]=> array(2) { ["lat"]=> float(35.6894875) ["lng"]=> float(139.6917064) } ["location_type"]=> string(11) "APPROXIMATE" ["viewport"]=> array(2) { ["northeast"]=> array(2) { ["lat"]=> float(35.817813) ["lng"]=> float(139.910202) } ["southwest"]=> array(2) { ["lat"]=> float(35.528873) ["lng"]=> float(139.510574) } } } ["place_id"]=> string(27) "ChIJ51cu8IcbXWARiRtXIothAS4" ["types"]=> array(3) { [0]=> string(27) "administrative_area_level_1" [1]=> string(8) "locality" [2]=> string(9) "political" } } } [1]=> string(2) "OK" }
#困っていること
"location"の"lat", "lng"にたどり着けません。。本当に初歩的で大変恐縮ですが、
ここのキーを一緒に考えて頂けますととても嬉しいです。。
ちなみに、文法的には多分(?)問題ないかと思いまして、アロー演算子でアクセスしようと
考えております。
簡単な質問となってしまい、恐れ入りますがお力添えいただきたく思います。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/26 07:40