Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重新初始化/重新启动谷歌地图Api_Javascript_Google Maps_Ionic Framework_Ionic2 - Fatal编程技术网

Javascript 重新初始化/重新启动谷歌地图Api

Javascript 重新初始化/重新启动谷歌地图Api,javascript,google-maps,ionic-framework,ionic2,Javascript,Google Maps,Ionic Framework,Ionic2,我有一个处理在线/离线情况的应用程序。 现在,我有一些实例,其中应用程序首先脱机运行,而api无法加载,这导致了一个空白的映射页 GoogleMapAPI的调用是这样的 <script src="http://maps.google.com/maps/api/js?key=APIKEY"></script> 如何检查我的google map api是否已初始化,如何重新初始化 更新1: 我可以通过 var script = document.createElement(

我有一个处理在线/离线情况的应用程序。 现在,我有一些实例,其中应用程序首先脱机运行,而api无法加载,这导致了一个空白的映射页

GoogleMapAPI的调用是这样的

<script src="http://maps.google.com/maps/api/js?key=APIKEY"></script>
如何检查我的google map api是否已初始化,如何重新初始化

更新1: 我可以通过

var script = document.createElement("script");
script.setAttribute("type", "text/javascript");
script.setAttribute("src", "http://maps.google.com/maps/api/js?key=APIKEY");
document.getElementsByTagName("body")[0].appendChild(script);

但这将导致多个GoogleMapAPI调用实例导致我的其他地图插件无法工作。因此,我仍然需要销毁失败的MapAPI调用,或者检查是否已经成功调用和检索了GoogleMapAPI

只有在连接到internet时才可以尝试运行脚本,而不是重新启动脚本

从index.html中删除
元素

在您的主页上:

key = "YOUR GOOGLE MAP API KEY"

GoogleMapInit(key);

function GoogleMapInit(key){
  if (key != null){
    apiKey = key;
  }

  loadGoogleMaps();
}

function loadGoogleMaps(){
  window.mapInit = function(){
    //Run any code that must be run after Google Map Api is done (E.g loading markers)
  }

  var script = document.createElement("script");
  script.type = "text/javascript";
  script.id = "googleMaps";

  if (apiKey){
    script.src = 'http://maps.google.com/maps/api/js?key=' + apiKey + '&callback=mapInit';
  }
  else{
   script.src = 'http://maps.google.com/maps/api/js?callback=mapInit';
  }
  document.body.appendChild(script);
}
您也可以参考:

key = "YOUR GOOGLE MAP API KEY"

GoogleMapInit(key);

function GoogleMapInit(key){
  if (key != null){
    apiKey = key;
  }

  loadGoogleMaps();
}

function loadGoogleMaps(){
  window.mapInit = function(){
    //Run any code that must be run after Google Map Api is done (E.g loading markers)
  }

  var script = document.createElement("script");
  script.type = "text/javascript";
  script.id = "googleMaps";

  if (apiKey){
    script.src = 'http://maps.google.com/maps/api/js?key=' + apiKey + '&callback=mapInit';
  }
  else{
   script.src = 'http://maps.google.com/maps/api/js?callback=mapInit';
  }
  document.body.appendChild(script);
}