Javascript 如何将多个函数添加到一个文件中?

Javascript 如何将多个函数添加到一个文件中?,javascript,function,google-maps-api-3,Javascript,Function,Google Maps Api 3,我正在尝试创建一个混搭的排序。。。我希望函数放在一个文件中,但当我添加Ajax函数时(中途),什么都不显示 我还想用jQuery显示它们,在我添加底部函数之前,顶部函数(带标记和信息的Google maps)都能正常工作 我是否应该像Google那样将它们添加到(函数(){})中,以及()是什么;在谷歌地图功能的末尾 当我在代码中调用函数时,我将如何调用ajax进行预览,因为在Google one中调用了window.onload 我知道我可以使用$.ready函数(){},但是我是否只将函数名

我正在尝试创建一个混搭的排序。。。我希望函数放在一个文件中,但当我添加Ajax函数时(中途),什么都不显示

我还想用jQuery显示它们,在我添加底部函数之前,顶部函数(带标记和信息的Google maps)都能正常工作

我是否应该像Google那样将它们添加到(函数(){})中,以及()是什么;在谷歌地图功能的末尾

当我在代码中调用函数时,我将如何调用ajax进行预览,因为在Google one中调用了window.onload

我知道我可以使用$.ready函数(){},但是我是否只将函数名放在.ready函数{}

我不确定如何在一个文件中添加所有函数并使其工作。基本上

代码如下:

(function() {

        //define global variables
        var map, geocoder, marker, infowindow;

        window.onload = function() {

            //creating the map
            var options = {
                zoom: 5,
                center: new google.maps.LatLng(53.383, -1.483),
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };

            map = new google.maps.Map(document.getElementById('map'), options);

            //code for catching the form submit event goes here
            //Getting the reference to the HTML form
            var form = document.getElementById('addressForm');

            //Catching the forms submit event
            form.onsubmit = function () {

                //getting the address from the text input
                var address = document.getElementById('address').value;

                //Making the geocode call
                getAddress(address);

                //Preventing the form from doing a page submit
                return false;
                }
            }

            //Function Stub
            function getAddress(address) {

                //Check to see if we already have a geocode object.
                //If not we create one
                if(!geocoder) {
                    geocoder = new google.maps.Geocoder();
                }

                //Creating the geoCoderRequest Object   
                var geocoderRequest = {
                    address: address
                }

                //Making the geocode request
                geocoder.geocode(geocoderRequest, function (results, status) {

                    //Check if status is ok beofre proceeding
                    if (status == google.maps.GeocoderStatus.OK){

                        //Center the map on the returned location
                        map.setCenter(results[0].geometry.location);

                        //Check to see if already a Marker there
                        if (!marker){
                            //Create a new marker and add it to the map
                            marker = new google.maps.Marker({
                                map: map    
                                });
                            }
                        //Setting position of the Marker to returned location
                        marker.setPosition(results[0].geometry.location);

                            //Check to see if we've already an info window
                            if(!infowindow) {
                                //Creating a new info window
                                infowindow = new google.maps.InfoWindow();
                                }
                            //Creating the content of the info window to the Address
                            //and the returned position
                            var content = '<strong>' + results[0].formatted_address + '</strong><br />';
                            content += 'Lat: ' + results[0].geometry.location.lat() + '<br />';
                            content += 'Lng: ' + results[0].geometry.location.lng();

                            //Adding the content to the info window
                            infowindow.setContent(content);

                            //Opening the infoWindow
                            infowindow.open(map, marker);

                        }

                });
            }

            })();


    // beginning of new function
            var xhr = false;
            var xPos, yPos;

            function prev(){
                    var link = document.getElementByTagName("a").onmouseover = showPreview;
                }

        function showPreview(evt) {
            if (evt) {
                var url = evt.target;
            }
            else{
                evt = window.event;
                var url = evt.srcElement;
            }
            xPos = evt.clientX;
            yPos = evt.clientY;

            if (window.XMLHttpRequest) {
                xhr = new XMLHttpRequest();
            }
            else {
                if (window.ActiveXObject) {
                    try {
                        xhr = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch (e) { }
                }
            }

            if (xhr) {
                xhr.onreadystatechange = showContents;
                xhr.open("GET", url, true);
                xhr.send(null);
            }
            else {
                alert("Sorry, but I couldn't create an XMLHttpRequest");
            }
            return false;
        }

            function showContents() {
                if (xhr.readyState == 4) {
                    if (xhr.status == 200) {
                        var outMsg = xhr.responseText;
                    }
                    else {
                        var outMsg = "There was a problem with the request " + xhr.status;
                        }
                        var preview = document.getElementById('preview');
                        preview.innerHTML = outMsg;
                        preview.style.top = parseInt(yPos)+2 + "px";
                        preview.style.left = parseInt(xPos)+2 + "px";
                        preview.style.visibility = "visible";

                        preview.onmouseout = function(){
                            document.getElementById('preview').style.visibility = "hidden";
                        }
                    }
(函数(){
//定义全局变量
var地图、地理编码器、标记器、信息窗口;
window.onload=函数(){
//创建地图
变量选项={
缩放:5,
中心:新google.maps.LatLng(53.383,-1.483),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),选项);
//捕获表单提交事件的代码如下
//获取对HTML表单的引用
var form=document.getElementById('addressForm');
//捕获表单提交事件
form.onsubmit=函数(){
//从文本输入获取地址
var address=document.getElementById('address')。值;
//打地理编码电话
getAddress(地址);
//阻止表单进行页面提交
返回false;
}
}
//函数存根
函数getAddress(地址){
//检查是否已经有地理编码对象。
//如果不是,我们就创建一个
if(!地理编码器){
geocoder=新的google.maps.geocoder();
}
//创建geoCoderRequest对象
var geocoderRequest={
地址:地址
}
//发出地理编码请求
geocoder.geocode(geocoderRequest,函数(结果,状态){
//检查状态是否正常,然后继续
if(status==google.maps.GeocoderStatus.OK){
//将地图放在返回位置的中心
map.setCenter(结果[0].geometry.location);
//检查是否已经有标记
如果(!标记){
//创建新标记并将其添加到地图中
marker=新的google.maps.marker({
地图:地图
});
}
//将标记的位置设置为返回的位置
marker.setPosition(结果[0].geometry.location);
//检查我们是否已经有一个信息窗口
如果(!infowindow){
//创建新的信息窗口
infowindow=new google.maps.infowindow();
}
//将信息窗口的内容创建到地址
//以及返回的位置
var content=''+结果[0]。格式化的_地址+'
; content+=“Lat:”+结果[0]。geometry.location.Lat()+”
; content+=“Lng:”+结果[0]。geometry.location.Lng(); //将内容添加到信息窗口 infowindow.setContent(content); //打开信息窗口 信息窗口。打开(地图、标记); } }); } })(); //新功能的开始 var xhr=false; var xPos,yPos; 函数prev(){ var link=document.getElementByTagName(“a”).onmouseover=showPreview; } 功能显示预览(evt){ 如果(evt){ var url=evt.target; } 否则{ evt=window.event; var url=evt.src元素; } xPos=evt.clientX; yPos=evt.clientY; if(window.XMLHttpRequest){ xhr=newXMLHttpRequest(); } 否则{ if(window.ActiveXObject){ 试一试{ xhr=新的ActiveXObject(“Microsoft.XMLHTTP”); } 捕获(e){} } } if(xhr){ xhr.onreadystatechange=showContents; xhr.open(“GET”,url,true); xhr.send(空); } 否则{ 警报(“抱歉,我无法创建XMLHttpRequest”); } 返回false; } 函数showContents(){ if(xhr.readyState==4){ 如果(xhr.status==200){ var outMsg=xhr.responseText; } 否则{ var outMsg=“请求有问题”+xhr.status; } var preview=document.getElementById('preview'); preview.innerHTML=outMsg; preview.style.top=parseInt(yPos)+2+“px”; 之前