cors dari google api

halo, saya mau nanya..

saya coba get data dari google api tapi ada kendala di cross origin.... bagaimana solusi nya ? terima kasih

 <script type="text/javascript">

  var tujuan = '-7.043961,%20110.611544';
  var asal   = '-7.038813, 110.582672';

  var link = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins='+asal+'&destinations='+tujuan;

    $.ajax({
        url: link,
        crossDomain: true,
        method: 'GET',
        async: false,
        dataType: 'json',
        cache: false,
        success : function (data) {
          // alert(data);
        }
    });

</script>

kalo data nya saya ganti jsonp bisa muncul, tapi ada error sintak wkkwk

avatar cahyo911
@cahyo911

42 Kontribusi 8 Poin

Diperbarui 6 tahun yang lalu

5 Jawaban:

error jsonp nya dimana broo?? kalo mau handle cors jsonp udh bener kok menurut gw

avatar apake1
@apake1

106 Kontribusi 55 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

Emang dari dulu masalahnya gitu, jsonp udah ga didukung juga. Kalo mau pake api google distance matrix https://developers.google.com/maps/documentation/distance-matrix

Include library google api (kalo punya include pake API_KEY supaya ngga dilimit):

 <script src="https://maps.googleapis.com/maps/api/js?libraries=geometry&language=en"></script>

Terus jangan pake ajax:

 function initMap(){
  var asal = new google.maps.LatLng(-7.043961, 110.611544);
  var tujuan = new google.maps.LatLng(-7.038813, 110.582672);
  var service = new google.maps.DistanceMatrixService();
    service.getDistanceMatrix(
      {
        origins: [asal],
        destinations: [tujuan],
        travelMode: 'DRIVING',
        unitSystem: google.maps.UnitSystem.METRIC,
        durationInTraffic: true,
        avoidHighways: false,
        avoidTolls: false
      }, response_data
    );

    function response_data(responseDis, status) {
      if (status !== google.maps.DistanceMatrixStatus.OK || status != "OK"){
        alert('Error:', status);
      }else{
        // Hasil
        alert(responseDis);
      }
    }
}
initMap();
avatar rangerkuning
@rangerkuning

19 Kontribusi 15 Poin

Dipost 6 tahun yang lalu

@rangerkuning , itu coba saya run responnya cmn dapet [object][object], trus nempatin api key nya dimana ?

avatar cahyo911
@cahyo911

42 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

@cahyo911 coba di console.log(responeDis). Keluarannya emang object javascript.

Atau coba diubah jadi gini:

 alert(JSON.stringify(responseDis));

Kalo api key nempatin di url-nya jadi

 https://maps.googleapis.com/maps/api/js?key=<API-KEY>&libraries=geometry&language=en
avatar rangerkuning
@rangerkuning

19 Kontribusi 15 Poin

Dipost 6 tahun yang lalu

ok mas thx

avatar cahyo911
@cahyo911

42 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban