2017-10-03 6 views
0

Google Maps APIの座標に基づいてユーザーアドレスを表示するアプリケーションを作成しようとしましたが、このコードはEclipse IDE内で正常に動作しています。Google Maps API with OpenUI5 CORSエラー

しかし、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 
      });