Javascript 谷歌地图与交通方向赢得';t本地加载

Javascript 谷歌地图与交通方向赢得';t本地加载,javascript,google-maps,Javascript,Google Maps,我需要在一个网站的联系人页面上有一个这样的页面 我想我只需要查看源代码并将其复制到我的编辑器中,这样我就可以使用api并对其进行自定义。 在新文件中输入c/p源代码,但该页面(地图和公共交通数据)不会加载到浏览器中 也许我少了一块js?我不这么认为,因为只有一个,而且它托管在谷歌上。你知道为什么这在本地不起作用吗 这是源代码,我没有编辑 <!DOCTYPE html> <html> <head> <title>G

我需要在一个网站的联系人页面上有一个这样的页面

我想我只需要查看源代码并将其复制到我的编辑器中,这样我就可以使用api并对其进行自定义。 在新文件中输入c/p源代码,但该页面(地图和公共交通数据)不会加载到浏览器中

也许我少了一块js?我不这么认为,因为只有一个,而且它托管在谷歌上。你知道为什么这在本地不起作用吗

这是源代码,我没有编辑

<!DOCTYPE html>
<html>

    <head>
            <title>Google Maps JavaScript API v3 Example: Transit</title>
            <script src="//maps.googleapis.com/maps/api/js?sensor=false&libraries=places"></script>
            <style type="text/css">
            html, body {
                    height: 100%;
                    padding: 0;
                    margin: 0;
                    color: black;
                    font-family: arial, sans-serif;
                    font-size: 13px;
            }
            #map {
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 50%;
            }
            #panel-wpr {
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    left: 50%;
                    right: 0;
                    overflow: auto;
            }
            #panel {
                    font-family: arial;
                    padding: 0 5px;
            }
            #info {
                    padding: 5px;
            }
            #from {
                    width: 90%;
                    font-size: 1.2em;
            }
            .adp-directions {
                    width: 100%;
            }
            .input {
                    background-color: white;
                    padding-left: 8px;
                    border: 1px solid #D9D9D9;
                    border-top: 1px solid silver;
                    -webkit-border-radius: 1px;
                    -moz-border-radius: 1px;
                    border-radius: 1px;
            }
            .time {
                    margin: 0;
                    height: 17px;
                    border: 1px solid;
                    border-top-color: #CCC;
                    border-right-color: #999;
                    border-left-color: #999;
                    border-bottom-color: #CCC;
                    padding: 2px 15px 1px 1px;
            }
            button {
                    border: 1px solid #3079ED;
                    color: white;
                    background-color: #4D90FE;
                    background-image: -webkit-gradient(linear, left top, left bottom, from(#4D90FE), to(#4787ED));
                    background-image: -webkit-linear-gradient(top, #4D90FE, #4787ED);
                    background-image: -moz-linear-gradient(top, #4D90FE, #4787ED);
                    background-image: -ms-linear-gradient(top, #4D90FE, #4787ED);
                    background-image: -o-linear-gradient(top, #4D90FE, #4787ED);
                    background-image: linear-gradient(top, #4D90FE, #4787ED);
                    filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#4d90fe', EndColorStr='#4787ed');
                    display: inline-block;
                    min-width: 54px;
                    text-align: center;
                    font-weight: bold;
                    padding: 0 8px;
                    line-height: 27px;
                    -webkit-border-radius: 2px;
                    -moz-border-radius: 2px;
                    border-radius: 2px;
                    -webkit-transition: all 0.218s;
                    -moz-transition: all 0.218s;
                    -o-transition: all 0.218s;
                    transition: all 0.218s;
            }
            #info div {
                    line-height: 22px;
                    font-size: 110%;
            }
            .btn {
            }
            #panel-wpr {
                    border-left: 1px solid #e6e6e6;
            }
            #info {
                    border-bottom: 1px solid #E6E6E6;
                    margin-bottom: 5px;
            }
            h2 {
                    margin: 0;
                    padding: 0;
            }
            </style>
            <script>
            var directions = new google.maps.DirectionsService();
            var renderer = new google.maps.DirectionsRenderer();
            var map, transitLayer;

            function initialize() {
                    var mapOptions = {
                            zoom: 14,
                            center: new google.maps.LatLng(51.538551, -0.016633),
                            mapTypeId: google.maps.MapTypeId.ROADMAP
                    };

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

                    google.maps.event.addDomListener(document.getElementById('go'), 'click',
                    route);

                    var input = document.getElementById('from');
                    var autocomplete = new google.maps.places.Autocomplete(input);
                    autocomplete.bindTo('bounds', map);

                    transitLayer = new google.maps.TransitLayer();

                    var control = document.getElementById('transit-wpr');
                    map.controls[google.maps.ControlPosition.TOP_RIGHT].push(control);

                    google.maps.event.addDomListener(control, 'click', function () {
                            transitLayer.setMap(transitLayer.getMap() ? null : map);
                    });

                    addDepart();
                    route();
            }

            function addDepart() {
                    var depart = document.getElementById('depart');
                    for (var i = 0; i < 24; i++) {
                            for (var j = 0; j < 60; j += 15) {
                                    var x = i < 10 ? '0' + i : i;
                                    var y = j < 10 ? '0' + j : j;
                                    depart.innerHTML += '<option>' + x + ':' + y + '</option>';
                            }
                    }
            }

            function route() {
                    var departure = document.getElementById('depart').value;
                    var bits = departure.split(':');
                    var now = new Date();
                    var tzOffset = (now.getTimezoneOffset() + 60) * 60 * 1000;

                    var time = new Date();
                    time.setHours(bits[0]);
                    time.setMinutes(bits[1]);

                    var ms = time.getTime() - tzOffset;
                    if (ms < now.getTime()) {
                            ms += 24 * 60 * 60 * 1000;
                    }

                    var departureTime = new Date(ms);

                    var request = {
                            origin: document.getElementById('from').value,
                            destination: 'Olympic Park London, United Kingdom',
                            travelMode: google.maps.DirectionsTravelMode.TRANSIT,
                            provideRouteAlternatives: true,
                            transitOptions: {
                                    departureTime: departureTime
                            }
                    };

                    var panel = document.getElementById('panel');
                    panel.innerHTML = '';
                    directions.route(request, function (response, status) {
                            if (status == google.maps.DirectionsStatus.OK) {
                                    renderer.setDirections(response);
                                    renderer.setMap(map);
                                    renderer.setPanel(panel);
                            } else {
                                    renderer.setMap(null);
                                    renderer.setPanel(null);
                            }
                    });

            }

            google.maps.event.addDomListener(window, 'load', initialize);
            </script>
    </head>

    <body>
            <div id="transit-wpr">
                    <button id="transit">Toggle transit layer</button>
            </div>
            <div id="map"></div>
            <div id="panel-wpr">
                    <div id="info">
                            <div>
                                     <h2>Transit directions</h2>

                            </div>
                            <div>
                                    <label>from:</label>
                                    <input class="input" id="from" value="Belgrave House 76 Buckingham Palace Road, London, Greater London">
                            </div>
                            <div>
                                    <label>to:</label> <strong>Olympic Park London, United Kingdom</strong>

                            </div>
                            <div>Depart at
                                    <select id="depart"></select>
                            </div>
                            <div class="btn">
                                    <button id="go">Get Directions</button>
                            </div>
                    </div>
                    <div id="panel"></div>
            </div>
    </body>

GoogleMapsJavaScriptAPI v3示例:Transit
html,正文{
身高:100%;
填充:0;
保证金:0;
颜色:黑色;
字体系列:arial,无衬线;
字体大小:13px;
}
#地图{
位置:绝对位置;
排名:0;
底部:0;
左:0;
右:50%;
}
#面板wpr{
位置:绝对位置;
排名:0;
底部:0;
左:50%;
右:0;
溢出:自动;
}
#面板{
字体系列:arial;
填充:0 5px;
}
#信息{
填充物:5px;
}
#从{
宽度:90%;
字体大小:1.2米;
}
.adp方向{
宽度:100%;
}
.输入{
背景色:白色;
左侧填充:8px;
边框:1px实心#D9D9D9;
边框顶部:1件纯银;
-webkit边界半径:1px;
-moz边界半径:1px;
边界半径:1px;
}
.时间{
保证金:0;
高度:17px;
边框:1px实心;
边框顶部颜色:#CCC;
右边框颜色:#999;
左边框颜色:#999;
边框底色:#CCC;
填充:2px15px 1px 1px;
}
钮扣{
边框:1px实心#3079ED;
颜色:白色;
背景色:#4D90FE;
背景图像:-webkit渐变(线性、左上、左下、从(#4D90FE)到(#4787ED));
背景图像:-webkit线性渐变(顶部,#4D90FE,#4787ED);
背景图像:-莫兹线性梯度(顶部,#4D90FE,#4787ED);
背景图像:-ms线性梯度(顶部,#4D90FE,#4787ED);
背景图像:-o-线性梯度(顶部,#4D90FE,#4787ED);
背景图像:线性梯度(顶部,#4D90FE,#4787ED);
过滤器:progid:DXImageTransform.Microsoft.gradient(startColorStr='#4d90fe',EndColorStr='#4787ed');
显示:内联块;
最小宽度:54px;
文本对齐:居中;
字体大小:粗体;
填充:0 8px;
线高:27px;
-webkit边界半径:2px;
-moz边界半径:2px;
边界半径:2px;
-webkit转换:所有0.218s;
-moz转换:所有0.218s;
-o-过渡:均为0.218s;
过渡:均为0.218s;
}
#资讯组{
线高:22px;
字体大小:110%;
}
.btn{
}
#面板wpr{
左边框:1px实心#e6;
}
#信息{
边框底部:1px实心#e6;
边缘底部:5px;
}
氢{
保证金:0;
填充:0;
}
var directions=new google.maps.DirectionsService();
var renderer=new google.maps.DirectionsRenderer();
var图,transitLayer;
函数初始化(){
变量映射选项={
缩放:14,
中心:新google.maps.LatLng(51.538551,-0.016633),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),mapOptions);
google.maps.event.addDomListener(document.getElementById('go'),'click',
路线);
var input=document.getElementById('from');
var autocomplete=new google.maps.places.autocomplete(输入);
autocomplete.bindTo('bounds',map);
transitLayer=new google.maps.transitLayer();
var control=document.getElementById('transit-wpr');
map.controls[google.maps.ControlPosition.TOP\u RIGHT].push(控件);
google.maps.event.addDomListener(控件,'click',函数(){
transitLayer.setMap(transitLayer.getMap()?null:map);
});
addDepart();
路线();
}
函数addDepart(){
var depart=document.getElementById('depart');
对于(变量i=0;i<24;i++){
对于(var j=0;j<60;j+=15){
var x=i<10?'0'+i:i;
变量y=j<10?'0'+j:j;
//maps.googleapis.com/maps/api/js?sensor=false&libraries=places
//maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&amp;libraries=places