【问题标题】:jquery load() - unable to load google mapsjquery load() - 无法加载谷歌地图
【发布时间】:2023-03-27 06:20:01
【问题描述】:

在 JQuery 中使用 load() 加载新页面的内容时,我无法加载谷歌地图,而无需重新加载窗口。

jquery ajax 调用是:

$("form").submit(function(){

        $(".cs-container").load("set-location.php .cs-container");
        return false;

    });

我正在尝试从当前div.cs-container 类元素中的另一个set-location.php 页面加载.cs-container 的内容。它已成功加载但谷歌地图无法加载g-maps 容器位于set-location.php 页面的.cs-container 中,它的脚本文件 包含在该页面的头部。

google maps 运行良好,但无法在 ajax 调用中加载。

当我尝试这样的事情时:

$("form").submit(function(){

            $(".cs-container").load("set-location.php");
            return false;

        });

它工作得很好,但它在.cs-container 中加载了完整的页面。我不想要的。

谷歌地图初始化脚本如(在文件cs-loc.js中)

 /*check if geolocaiton supported*/
if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(success);
} else {
  error('Geo Location is not supported');
}




function success(position) {


   var lat = position.coords.latitude; /*getting cordinates*/
   var long = position.coords.longitude;

   var input = document.getElementById("latLong");
   input.value = lat + ", " + long;

   var poos = new google.maps.LatLng(lat,long); /*set lat long for maps*/

    var mapProp = {
      center: poos,
      zoom:16,
      mapTypeId:google.maps.MapTypeId.ROADMAP
    };

    var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); /*init maps*/

    /*create marker*/
    var marker=new google.maps.Marker({
      position:poos,
      title: 'Your Store Location',
      draggable: true
      });

    marker.setMap(map); /*set marker to map*/

    google.maps.event.addListener(marker, 'dragend', function(a) {
        console.log(a);
        input.value = a.latLng.lat().toFixed(4) + ', ' + a.latLng.lng().toFixed(4);
    });


}


success();

如何解决?

【问题讨论】:

    标签: javascript php jquery ajax google-maps


    【解决方案1】:

    您可以在load() 回调中使用$.getScript()

    $(".cs-container").load("set-location.php .cs-container", function(){
        $.getScript('google.maps....').done(function(){           
               $.getScript('cs-loc.js');
       });    
    });
    

    【讨论】:

    • 抛出什么错误?发生了什么或没有发生什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 2015-09-09
    相关资源
    最近更新 更多