Diskon 80% terbatas! Masukkan kupon "merdeka" di kelas apa saja

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 7 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 7 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 7 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 7 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 7 tahun yang lalu

ok mas thx

avatar cahyo911
@cahyo911

42 Kontribusi 8 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban