2013-04-24 3 views
2

여러분이이 질문에 답변 할 수 있기를 바랍니다. 나는 상대적으로 쉬워야한다고 생각하지만, 나는 그걸 이해하지 못하고있다.Google지도 API Wordpress의 Javascript

Wordpress 게시물/페이지 내에 Google Maps API Javascript를로드하는 방법에 대해 어떻게 생각하세요?

Wordpress Codex는 테마의 헤더에서 자바 스크립트 파일을 참조하면 게시물 내의 함수를 호출해야한다고 제안하는 것 같습니다.

다음과 같이 나는 헤더의 Google 자바 스크립트 파일을 참조했습니다 다음

<script type="text/javascript" 
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBuU_0_uLMnFM-2oWod_fzC0atPZj7dHlU&sensor=false"></script> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript"> 

및 내 자바 스크립트 파일에 너무 헤더의 모든 API 코드 :

<script type="text/javascript" src="http://runforlifeuk.com/rhedeg/wp-content/javascript/trefilmap.js"></script> 

I 게시물에서 다음 코드를 사용했습니다.

<script type="text/javascript" src="http://runforlifeuk.com/rhedeg/wp-content/javascript/trefilmap.js"> 
</script> 
<script type="text/javascript"> 
</script> 
<div id="map-canvas"> 
</div> 

그러나 이것은 단지 비어있는 상자. 게시물 내에 미리 정의 된 Google JS 함수를 호출 해 보았습니다. 그러나이 중 하나가 작동하지는 않습니다.

이미 Wordpress에서 Google지도를 구현 한 사람이 있습니까? 모든 코드를 직접 게시물에 붙여 넣을 수는 있지만 Google지도에는 버그가 가득합니다.

모든 아이디어를 높이 평가하겠습니다! 많은 감사.

+0

지도를 어떻게 사용하고 싶습니까? 배경 또는 페이지의 상자로 사용 하시겠습니까? 또한 당신은 당신의 장소 또는 다른 것을 위해 long and lat를 놓고 싶습니까? – Mhche

답변

0

난 그냥 당신이에서 <script> 태그가 안 당신의 http://runforlifeuk.com/rhedeg/wp-content/javascript/trefilmap.js 파일

에보고했다!

<script type="text/javascript" 
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBuU_0_uLMnFM-2oWod_fzC0atPZj7dHlU&sensor=false"></script> 
<script type="text/javascript" src="https://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
내가 오류에 대한 자바 스크립트 콘솔에서 모양과 페이지에 자바 스크립트를 추가하는 wp_enqueue_script()를 사용하여 학습을 제안

.

+0

팁 주셔서 감사합니다! Google Maps API 자바 스크립트 라이브러리를 등록하고 대기열에 추가했습니다. 또한 내 테마 헤더에 자바 스크립트 용 .js 파일을 배치했습니다. 좋은 소식은지도가로드된다는 것입니다 ... 나쁜 소식은지도가 끔찍하게 망가졌습니다. 예를 들어, infoboxes의 줄기가 열리지 않으면 닫는 십자가가 나타나지 않고 streetview pegman이지도에 표시되지 않습니다. 내가 아는이 모든 것들은 일반 HTML 페이지에서 작동합니다. 내가 WordPress에 직접 Javascript를 복사 할 때 나는 같은 문제를 다시 발생시킨다. 내 테마를 TwentyEleven으로 전환해도 문제가 해결되지 않습니다. 어떤 아이디어 !!!! – wowzimmer

12

WordPress에서는 절대 js를 머리말이나 꼬리말에 사용하지 마십시오. 대신 wp_enqueue_script을 functions.php에서 wp_enqueue_scripts 액션에 연결 한 함수 안에 사용하십시오. 예를 들면 다음과 같습니다.

고유 한 슬러그를 함수 이름 앞에 붙여야합니다. 종속성 버전 번호를 추가하거나 추가 변수를 사용하여 바닥 글로 옮길 수 있습니다. 자세한 정보는 코덱스를 참조하십시오. 귀하의 경우에는 wp_enqueue_script을 조건부로 감쌀 것이므로 필요한 포스트 또는 페이지에만로드됩니다.

+1

나는 마침내 그 위에 매우 유사 코드를 가지고 :'기능 google_maps_api() { wp_register_script ('GoogleMap으로', 'https://maps.googleapis.com/maps/api/js?key=AIzaSyBuU_0_uLMnFM-2oWod_fzC0atPZj7dHlU&sensor= false ', true); wp_register_script ('elevation_service', 'https://www.google.com/jsapi',true); wp_enqueue_script ('googlemap'); wp_enqueue_script ('elevation_service'); } add_action ('wp_enqueue_scripts', 'google_maps_api'); ' – wowzimmer

+1

다행이었습니다. 세 번째 변수로 'true'를 사용하는 것은 필요하지 않습니다. 스크립트를 대기열에 넣기 전에 스크립트를 등록하는 것도 아닙니다. 별도로 스크립트를 등록하는 것은 조건부 스크립트 대기열 넣기를 더 간단하게 만들거나 다른 스크립트에 대한 종속성이 될 스크립트를 등록하려는 경우에만 정말로 필요합니다. 그것의 벌금 당신이 그것을하고있어, 그냥 중복. – JPollock