动态载入gmaps脚本
有时候,GFW或者中国电信等运营商对gstatic.com等Google Maps相关网站制造延迟甚至网络不通的现象,除了做成Google Maps API v3不能用之外,载入网页的速度也大大降低,我的想法是,当要用gmaps的时候才动态载入gmaps的JavaScript,不要用不用也载入,这样会浪费时间。
一般情况下都会使用这种形式引用gmaps:。
如果单纯转为jQuery.getScript则不行:
$.getScript('http://maps.googleapis.com/maps/api/js?sensor=false',function(){
...
});
其实gmaps可以通过在URL上指定回调函数的名称,只要加上 &async=2&callback=回调函数名称 :
var map;
function get_coord(){
if(!map)
$.getScript('http://maps.googleapis.com/maps/api/js?sensor=false&async=2&callback=initialize');
}
function initialize(){
var latLng = new google.maps.LatLng(23, 113);
var myOptions = {
zoom: 17,
center: latLng,
streetViewControl:false,
zoomControl:false,
mapTypeId: google.maps.MapTypeId.SATELLITE,
mapTypeControl: false,
mapTypeControlOptions: {mapTypeIds: [google.maps.MapTypeId.SATELLITE]}
};
map = new google.maps.Map(document.getElementById('map_canvas'),myOptions);
}
No related posts.
