2013-08-09 1 views
0

Google Maps Web Services Directions API URL에서 주소를 어떻게 지정합니까? 사용자 입력에서받은 URL을 변환 Maps Web Services page 상태는Google Maps Directions API URL에 주소를 지정하는 방법

때로는 까다 롭습니다. 예를 들어 사용자는 주소를 "5th & Main St."으로 입력 할 수 있습니다. 일반적으로 사용자 입력을 리터럴 문자로 처리하여 해당 부분에서 URL을 구성해야합니다.

그러나 이것은 분명하지 않습니다. 예제가 없으며 웹에서 아무 것도 찾을 수 없었습니다. 주어진 예를 들어, "5th & Main St." 다음과 같은 유효한?

https://maps.googleapis.com/maps/api/directions/json?destination=5th%26Main+St.&sensor=true 

그렇지 않은 경우 올바른 변환은 무엇입니까?

읽어 주셔서 감사합니다.

+1

귀하의 예에서 변환이 정확합니다. –

+0

나는 알고 있다고 생각합니다. 따옴표에 암시 된 까다로운 점은 &가 전달 된 경우 &는 인수 구분 기호로 잘못 해석 될 수 있다는 것입니다. 즉, 제대로 변환되지 않았습니다. – Phil

답변

2

내 이해에 따르면, 당신은 URI encode을 찾고 있습니다. 자바 스크립트에서

:

encodeURI은 외국어를 포함한 특수 문자 문자열을 인코딩하는 데 사용됩니다.

예 :

var address = "5th&Main St."; 
var encodedAddress = encodeURI(address); 

는 다음 구글지도 API에서 encodedAddress를 전달합니다.

https://maps.googleapis.com/maps/api/directions/json?destination=encodedAddress&sensor=true 

부호화 심볼 당량 (Percent encoding)의 작은 목록 :

I는 문제에 직면 geocoding via C# 하 whild 일단
space %20 
!  %21 
"  %22 
#  %23 
$  %24 
%  %25 
&  %26  // this what happended in your case 
'  %27 
(  %28 
)  %29 

.

여기서 주소로 HttpUtility.UrlEncode()을 사용하여 유사한 URI 인코딩을 수행 한 다음 위에서 언급 한대로 Google API로 전달했습니다. 각 언어마다 고유 한 인코딩 기술이 있지만 출력은 동일합니다.

희망하시는 분.

+0

저는 실제로 iOS에서 프로그래밍 중이므로 동등한 메서드는 NSString의 stringByAddingPercentEscapesUsingEncoding이 될 것입니다. 지금은 분명합니다. 감사! – Phil

+1

@Phil Oh, iOS에서하는 일. 여기까지 기꺼이 도와 드릴 수있었습니다. 그것을 공유 주셔서 감사합니다 :) – Praveen