2017-10-03 1 views
0

Google지도 API를 사용하여 좌표를 기반으로 사용자 주소를 표시하는 앱을 만들려고했는데 코드가 Eclipse IDE 내에서 제대로 작동합니다.Google지도 OpenUI5 CORS 오류가있는 API

하지만 IIS에서 호스팅 할 때 다음과 같은 오류가 나타납니다.

XMLHttpRequest의은 https://maps.googleapis.com/maps/api/geocode/json?latlng=30.0043704,31.176554&sensor=true&key=AIzaSyCEZN8UB34nbx3D-17xk1J-DRnNCF_kjm4를로드 할 수 없습니다. 요청 헤더 필드프리 - 플라이트 응답에서 액세스 제어 허용 헤더가 Content-Type을 허용하지 않습니다.

그리고 내 코드는

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."); 
} 

아래에 어떤 도움이 오류 로그는 문제는 콘텐츠 형식으로 보여줍니다 사전

답변

0

에서 감사를 감상 할 수있다. 아래 방법을 시도해보십시오. 그것은 매우 간단합니다.

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 
      });