2011-03-04 3 views
12

Google지도 지오 코드 api에서 LatLng을 가져 오려고합니다. 내 코드가 주소 값이 "New York, NY"인 경우jquery ajax로 Google지도 지오 코드 서비스 호출하는 방법

$.ajax({ 
    url: 'http://maps.googleapis.com/maps/api/geocode/json', 
    data: { 
     sensor: false, 
     address: address 
    }, 
    success: function (data) { 
     alert(data) 
    } 
}); 

하지만 경고가 표시되지 않습니다.

도움 주셔서 감사합니다.

+1

당신은 무엇을 얻고있다? 디버깅에는 Firebug (또는 동급)를 사용하십시오. 테 요청에는 무엇이 들어 있습니까? –

+0

@Fokko Driesprong이 방화범을 털어서 데이터를 비어 있고 http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=NewYork%2C+NY와 같은 URL로 가져오고 브라우저 주소에이 URL을 붙여 넣을 때 결과를주는 막대. :-) – rajakvk

답변

13

rules과 관련하여 API에 문의해야합니다.

$.getJSON({ 
    url : 'https://maps.googleapis.com/maps/api/geocode/json', 
    data : { 
     sensor : false, 
     address : address 
    }, 
    success : function(data, textStatus) { 
     console.log(textStatus, data); 
    } 
}); 

편집 : 내

어떻게 바보, 아침에 유래에 안! 문제는 도메인 간 요청입니다. 보안상의 이유로 이것은 허용되지 않습니다. 참조 : How to make cross-domain AJAX calls to Google Maps API?

Google의 Geocoding client을 사용하십시오.

+0

다시 한 번 감사드립니다. 나는 위의 코드로 시도했지만 운이 없었다. 그런데 함수 i가 "성공"을 추가하기 전에 – rajakvk

+0

이 샘플을 시도하십시오 http://jsfiddle.net/ipsjolly/FSU6r/ –

+0

이 솔루션을 시도했지만 주소 매개 변수에 대해 "Uncaught SyntaxError : Unexpected identifier"오류가 발생했습니다. 데이터. 누군가가이 문제를 해결하는 방법을 알려줄 수 있습니까? –

0

또는 dataType을 jsonp로 지정 하시겠습니까?

$.ajax({ 
    url: 'http://maps.googleapis.com/maps/api/geocode/json', 
    data: { 
     sensor: false, 
     address: address 
    }, 
    dataType:'jsonp', 
    success: function (data) { 
     alert(data) 
    } 
}); 
1

이 내가 그것을 한 방법이다. 지오 코더는 자체 콜백을 만드는 것처럼 보입니다.

geo.geocode({ 'address': myaddress }, function(data, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     var myylocation = data[0].geometry.location; 
     lat = myylocation.lat(); 
     lng = myylocation.lng(); 
    } 
}); 
1

누구든지이 주제에 대한 도움을 얻으 려한다면이 방법을 사용하십시오. 이 역방향 조회이지만, 정방향 조회가 같은 방식으로 작동합니다 참고 :

`

function getLocation() { 
var latdegrees=40.2298; 
var londegrees=-41.88754; 
    var url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + latdegrees + "," + londegrees + "YOUR API KEY"; 
    $.getJSON(url,function (data, textStatus) { 
      var streetaddress=data.results[0].formatted_address; 
      return streetaddress; 
     }); 
    }` 
8

JQuery와 사용을 할 필요가 없기를, 구글은 자신의 기능에 구축 한 자바 스크립트 API v3의 매핑 API를 사용하기 쉽게 만듭니다.

https://developers.google.com/maps/documentation/javascript/geocoding https://developers.google.com/maps/documentation/geocoding/intro

var geocoder = new google.maps.Geocoder(); 
geocoder.geocode({ 'address': address }, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: results[0].geometry.location 
     }); 
    } 
}); 
관련 문제