2014-09-19 3 views
2

저는 Parse.com에있는 클래스의 객체에 저장된 주소를 지오 코딩하기 위해 알아 두었던 JavaScript 중 일부를 다루고 있습니다. 클라우드 코드를 통해 필자는 지오 코더로 전달해야하는 PFObect에 대한 속성을 가졌으며 그 결과 위도와 경도에 대한 JSON 결과를 구문 분석 한 다음 동일한 PFObject의 속성으로 저장합니다.Parse Cloud 코드를 통해 Google Maps API로 지오 코딩

솔루션을 검색하는 데 많은 시간을 할애했으며 대부분의 권장 사항은 HTTP 요청이 아닌 Google Maps JavaScript API v3을 사용하는 것으로 보입니다. 올바른 방향으로 나를 안내 할 수있는이 약간의 경험과

Parse.Cloud.afterSave ('incidentDetails', function(request, status) { 

        var address = request.object.get("address1"); 
        var geocoder; 

        function initialize() { 

        geocoder = new google.maps.Geocoder(); 
        codeAddress(); 

        } 

        function codeAddress() { 

        console.log("test"); 

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

            if (status == google.maps.GeocoderStatus.OK) { 

            var latLng = results[0].geometry.location; 
            request.object.set("latLng", latLng); 

            } else { 

            alert('Geocode was not successful for the following reasons: ' + status); 
            } 
            }); 
        } 

        initialize(); 

        }); 

내가 바라고 있어요 사람 :

여기 내 코드입니다. 위 코드는 Parse Cloud Code에 올바르게 배포되지만 로그 또는 오류 콘솔에는 아무 것도 없으므로 실제로 호출되지는 않습니다. 나는 근본적인 것을 놓치고있는 것처럼 느껴진다. 나는 어떤 도움이나 제안을 주셔서 감사한다.

답변

5

google.maps.Geocoder 브라우저에서 작동하는 의미 자바 스크립트이며, 사용하는 지오는

Parse.Cloud.httpRequest({ method: "POST", url: ' https://maps.googleapis.com/maps/api/geocode/json ', params: { address : address, key:YourKey }, success: function(httpResponse) { var response=httpResponse.data; if(response.status == "OK"){ var langLat=response.results[0].geometry.location; console.log(langLat); } }, error: function(httpResponse) { console.error('Request failed with response code ' + httpResponse.status); } });

+0

{ 주소 : 주소, 키 : YourKey }와 같이 params에서 YourKey에 대해 이야기하는 경우 구문 분석 앱 키가 아닌 Google 지오 코딩 API 키입니다. –

0

함수를 호출하지 않으므로 코드가 실행되지 않습니다. 시도 :

initialize(); 

codeAddress(); 

코드가 당신이 그것을 예상대로 작동하지 않는 경우, 당신은 호출하여 디버깅 할 수 있습니다 :

console.log("Your info"); 
+0

가 좋아 지금 실행 코드를 가지고 로그에 인쇄 할 수 있어요 (당신은 사용하여 Goolge의 API 콘솔에 사용할 지오 코딩 API가 필요), 아래로 Parse.Cloud.httpRequest의 사용을 확인 ,하지만 나는 다음과 같은 오류를 반환으로 Google 어딘가에 정의 할 필요가 의심 : ReferenceError : 구글은 정의되지 않았습니다 ... 나는 구글 API에 대한 소스를 제공해야한다고 생각 ... 그냥 정확히 모르겠어? 도움을 받으실 수 있도록 도와주세요. – blueHula