2014-06-16 2 views
0

Google지도를 사용하여 코드에서 Google지도를로드하고 있습니다. 이제 Google지도를 사용할 수 없을 때 주소를 수동으로 입력 할 수있는 옵션을 사용자에게 제공해야합니다. 여기, 내 문제는 구글지도를 사용할 수없는 경우 브라우저가 API지도를 사용할 수없는 경우 Google지도 API가 오래 걸립니다.

<script type="text/javascript" 
    src="<%=requestScheme%>://maps.google.com/maps/api/js?sensor=false&libraries=places"> 
</script> 

에 연결하는 데 약 2 분 소요 요청으로 인해 타임 아웃 중단지고 있다는 점이다. 따라서 수동으로 세부 정보를 입력 할 수있는 옵션이 표시 될 때까지 2 분 정도 기다려야합니다. 지도를 사용할 수없는 경우이 2 분의 시간 지연을 피하기위한 모든 제안. 30 초 동안 기다릴 수있는 시간을 설정해야하고 해당 시간대에지도가로드되지 않는 경우 사용자가 직접 입력 할 수 있도록 허용해야합니까?

+0

지도가로드되지 않습니다? 나는 Google 자체를 사용할 수 없거나 인터넷 연결이 끊어진 경우에만 이것을 보았습니다. – Andy

+0

중국 환경에서 Google지도가로드되지 않을 수 있습니다. –

+1

비동기 적으로지도로드 : https://developers.google.com/maps/documentation/javascript/tutorial#asynch – duncan

답변

1

당신은 API의 존재를 확인할 수 있습니다 :

var foundMap = typeof google === 'object' && typeof google.maps === 'object'; 

if (foundMap) { 
    // load the map 
} else { 
    // add code for manually entering the address 
} 
+0

사실, 나는 내 코드에서 비슷한 것을하고있다. 그러나이 스크립트를 'http://maps.google.com/maps/api/js?sensor=false&libraries=places'로드하려면 시간이 걸립니다. 스크립트가로드되지 않는 한 맵을로드하거나 수동으로 주소를 입력 할 수 없습니다. –

0

내가 body 태그 (body 태그의 끝) 내부에 스크립트를 배치하여 내 문제를 해결할 수 있었다. 이전에는 스크립트를 head 태그에 넣었습니다.로드 시간이 길어서로드 될 때까지 다른 스크립트를 차단했습니다. 이 링크는 나에게 아이디어,

http://stevesouders.com/hpws/js-blocking.php

는 기본적으로 닫는 body 태그 전에 스크립트를 배치하는 것이 가장 좋습니다했다. 더 나은 이해를 위해이 게시물을 참조하시기 바랍니다, 어떤 상황에서

Where should I put <script> tags in HTML markup?

관련 문제