2011-11-04 2 views
0

Google지도 API를 사용하여지도를로드하려고합니다. 나는 지정된 위치에 센터를 배치하는 스크립트를 가지고있다 : var address = "my address";PHP를 사용하여 javascript 변수 지정

세션에는 주소가있는 txt 파일 경로의 일부가 포함됩니다.

이 다소 더러워이지만 여기

:-) 목적을 제공하는 PHP와 자바 스크립트이다

   var geocoder = new google.maps.Geocoder(); 
       <?php 
        $center_path = "images\blog\\".$_SESSION['trip']."\\Center.txt"; 
        echo "var address = \""; 
        include($center_path); 
        echo "\";"; 
       ?> 

       geocoder.geocode({ 'address': address}, function(results, status) { 

       if (status == google.maps.GeocoderStatus.OK) { 
        map.setCenter(results[0].geometry.location); 
        } 
       }); 

이 출력 = "내 주소"

VAR 주소;

html로는 작동해야한다는 의미 일뿐, 그렇지 않습니다.

변수 주소가 제대로 전달되지 않는 이유를 아는 사람이 있습니까?

+0

"작동하지 않음"을 정의하십시오. 그것은 무엇을 하는가? – deceze

+0

'여행'이 있는지 세션을 확인 했습니까? 또한, 그 경로를 에코 아웃과 같은 모양을 볼 수 있습니다 ... –

+0

주소 변수가 있는지 확인하기 위해 방화 광을 시도 했습니까? 주소 문자열의 내용이 같은 줄에 있다면 어쩌면 많은 줄을 출력하고 자바 스크립트는 그것을 파싱 할 수 없습니다. 방화범이 끌리는 자바 스크립트 오류가 있습니까? – wezzy

답변

0

파일에 대한 상대 경로를 사용하고 있습니다. 파일이 루트를 기반으로하는지 확인하십시오. 이것을 디버깅하려면 echo $ center_path를 사용하고 에코 된 경로가 파일을 가리키는 지 확인하십시오. 모두 실패하면 절대 경로를 지정하십시오.

0

파일을 가져 오기 위해 include를 사용하는 대신 file_get_contents를 사용해보십시오. 거기에서 파일을 적절하게 소독하고 파일을 다듬어야합니다. 이것을 테스트하는 동안 나는 심지어 하나의 라인 파일이 자바 스크립트에서 우스운 일이 발생할 수있는 라인 문자의 끝을 개최 것으로 나타났습니다.

다른 사람들이 말했듯이, 당신은 스스로를 위해 약간의 딜레 간을해야하고, 모든 변수를 에코하고, 그들이 의도 한 정보를 포함하고 있는지 확인해야합니다.

세션은 변덕스러운 생물입니다. 세션 변수가 정확히 사용되었는지, $ center_path 변수가 제대로 처리되었는지, 그리고 모든 것이 온라인 상태인지 확인해야합니다.

그 외, 나는 우리가 그곳에서 무엇을 할 수 있는지 잘 모르겠습니다.

0

파일을 include 대신 변수로로드하는 경우 file_get_contents을 사용해야합니다.이 파일은 호출되는 컨텍스트에서 코드를 실행하는 데 사용됩니다.

관련 문제