2017-10-03 4 views
0

J'essayais de créer une application qui affiche l'adresse de l'utilisateur en fonction de ses coordonnées avec Google Maps API le code fonctionne bien dans Eclipse IDE.Google Maps API avec OpenUI5 CORS erreur

Mais lorsque je l'héberge sur IIS, l'erreur suivante s'affiche.

XMLHttpRequest ne peut pas charger https://maps.googleapis.com/maps/api/geocode/json?latlng=30.0043704,31.176554&sensor=true&key=AIzaSyCEZN8UB34nbx3D-17xk1J-DRnNCF_kjm4. Champ d'en-tête de requête Le type de contenu n'est pas autorisé par En-têtes de contrôle d'accès autorisés dans la réponse de contrôle en amont.

Et mon code est ci-dessous

var position = null; 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(function(aPosition) { 
      position = aPosition; 
      jQuery.sap.require("sap.m.MessageToast"); 
      $.sap.log.error("LAT:" + position.coords.latitude + " LON:" + position.coords.longitude); 
      var oGeoModel = new sap.ui.model.json.JSONModel(); 
      var aData = jQuery.ajax({ 
       type: "GET", 
       contentType: "application/json", 
       url: "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + position.coords.latitude + "," + position.coords.longitude + 
          "&sensor=true&key=AIzaSyCEZN8UB34nbx3D-17xk1J-DRnNCF_kjm4", 
       dataType: "json", 
       async: false, 
       crossDomain: true, 
       success: function(data, textStatus, jqXHR) { 
        oGeoModel.setData({ 
         modelData: data 
        }); 
        //alert("success to post"); 
        myView.byId("txtVendCountry").setValue(oGeoModel.getProperty("/modelData/results/4/formatted_address")); 
        myView.byId("txtVendRegion").setValue(oGeoModel.getProperty("/modelData/results/2/formatted_address")); 
        myView.byId("txtVendorAddress").setValue(oGeoModel.getProperty("/modelData/results/0/formatted_address")); 
        console.log(oGeoModel); 
       } 
      }); 
      console.log(oGeoModel); 
     }); 
    } else { 
     sap.m.MessageToast.show("Sorry, your browser does not support geolocation services."); 
} 

Toute aide serait appréciée Merci à l'avance

Répondre

0

Le journal des erreurs montre que problème est avec Content-Type. Essayez la méthode ci-dessous. C'est assez simple.

var url = "https://maps.googleapis.com/maps/api/geocode/json?latLang=" --your lat lang" + "&sensor=false&----yourAPIKey4---&callback=getJSON"; 

$.getJSON(url, function(data) { 
       //set data to model here 
      });