[英]jquery load() - unable to load google maps
我在使用JQuery中的load()
新頁面的內容時沒有重新加載窗口的情況下加載Google地圖時遇到了麻煩。
jQuery ajax的調用是:
$("form").submit(function(){
$(".cs-container").load("set-location.php .cs-container");
return false;
});
我正在嘗試從當前div.cs-container
類元素中的另一個set-location.php
頁面加載.cs-container
的內容。 它已成功加載, 但google maps未加載 。 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();
怎么解決?
您可以在load()
回調中使用$.getScript()
$(".cs-container").load("set-location.php .cs-container", function(){
$.getScript('google.maps....').done(function(){
$.getScript('cs-loc.js');
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.