테스트 사이트 - 개발 중인 베타 버전입니다

구글 지도를 crul 이용한 호출에 작동하지 않아요 채택완료

해피정 5년 전 조회 3,495

구글 지도를 호출해서 페이지에 보여주는 작업을 진행중입니다.

 

<?php
$address = "경기도 부천시 원미구 중1동 길주로 210";
$address_title = "부천시청";

$google_map_api = "구글api키"; // Maps JavaScript API
echo 'https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&key='.$google_map_api;


    //주소를 구글로 보내 해당 주소 데이타를 가져옵니다.    
    function getGeoInfo_GoogleMap($address){
        $url = 'https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($address).'&key='.$google_map_api;

        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, false);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        $result = curl_exec($ch);
        if ($result === FALSE) {
            error_log('Curl failed');
            die('Curl failed: ' . curl_error($ch));
        }
        curl_close($ch);
        return $result;
    }
    //주소를 넘겨주고 데이타를 가져옵니다.
    $addr_info =getGeoInfo_GoogleMap($address);
    //json데이터를 decode하여 사용합니다.
    $addr_temp = json_decode($addr_info,true);
    
    //필요한 좌표값만 배열에서 추출하여 사용합니다. 이전배열하고 달라졌습니다. 
    $addr_position = $addr_temp['results'][0]['geometry']['location'];
    //필요한 좌표값을 변수에 담습니다.
    $lat =$addr_position['lat'];
    $lng =$addr_position['lng'];

// php.ini 설정중 allow_url_fopen = On 확인 / Off 이면 추출안됨
echo "<br>lat = ". $lat ."<br>";
echo "lng = ". $lng ."<br>";
?>

 

장소의 좌표가 추출이 되어야 하는데, 값이 추출되지 않아서 밤을 가득 지냈습니다.

무엇이 문제인걸까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
유찬아빠

혹시 서버설정에서 CURL 사용 가능한지 확인 하셨나요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

해피정
5년 전
휴... 해결못해서 이미지 지도로 대체했어요. 엉엉

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인