1. ホーム
  2. javascript

[解決済み] Google Map javascript api キー

2022-03-01 16:22:32

質問

コードバアプリケーションを使用しており、マップのブラウザキーを持っています。

<script async defer

        src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBHJxzPHD_egYnhxntqcvfem35YRjruzAg&callback=initMap">
</script>

しかし、私はサーバーからキーを取得したい、私はこのキーを取り、次のように格納します。

localStorage.getItem("MapCode")

このロカスタは

" https://maps.googleapis.com/maps/api/js?key=AIzaSyBHJxzPHD_egYnhxntqcvfem35YRjruzAg&callback=initMap "

ということで、これをsrcに書きたいのですが、書ききれませんでした。

<script async defer

            src=localStorage.getItem("MapCode")>
    </script>

どうすればいいですか?

解決方法は?

Google Maps JavaScript APIを動的にロードすることができます。そのためには、以下のようなコードを作成します。

function loadScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = localStorage.getItem("MapCode");
    document.body.appendChild(script);
}

window.onload = loadScript;

サンプルコードをご覧ください。 http://jsbin.com/carobun/edit?html,output

のコード・スニペットです。

var map;

function initialize() {
    var c = new google.maps.LatLng(54.8867537,-1.557352);
    var mapOptions = {
        zoom:7,
        center: c
    };
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}
 
function loadScript() {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = 'https://maps.googleapis.com/maps/api/js?v=3' +
        '&key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU&callback=initialize';
    document.body.appendChild(script);
}

window.onload = loadScript;    
html,
body,
#map-canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<div id="map-canvas"></div>