谷歌地图-窗口.Initialize不是一个函数



加载地图时出现上述错误。目前没有地图显示,似乎找不到答案!任何帮助将非常感激!我的js代码如下:

 <script type="text/javascript" src = "/js/jquery-1.11.2.js">
                        var map = null;
                        var iLoadPoints = 0;
                        function initialize() {
                            var mapOptions = {
                                center: {lat: 54.872128, lng: -6.284874},
                                zoom: 13
                            };
                            map = new google.maps.Map(document.getElementById('map-canvas'),
                                    mapOptions);

                             jQuery(document).ready(function($){
                                $.getJSON('/markers/json', function (data) {

                                    var locations = JSON.parse(data);
                                    for (var i = 0; i < locations.length; i++) {
                                        addMarker(locations[i].lat, locations[i].lng);
                                    }
                                });
                            });
                        }

                        google.maps.event.addListenerOnce(map, 'idle', function () {
                            iLoadPoints += 1;
                            if (iLoadPoints === 2) {
                                initialize();
                            }
                        });
                        google.maps.event.addDomListener(window, 'load', function () {
                            iLoadPoints += 1;
                            if (iLoadPoints === 2) {
                                initialize();
                            }
                        });

你的jQuery(..)ready函数在initialize函数内部。你不调用初始化函数。这是错误的。它不能工作。

我注释了依赖于您的配置的部分,并添加了对初始化函数的调用以进行简短的测试。(见下文)

<script type="text/javascript" src = "/js/jquery-1.11.2.js">
                   var map = null;
                    var iLoadPoints = 0;
                    function initialize(){
                        var mapOptions = {
                            center: {lat: 54.872128, lng: -6.284874},
                            zoom: 13
                        };
                        map = new google.maps.Map(document.getElementById('map-canvas'),
                                mapOptions);
                         jQuery(document).ready(function($){
/*                                $.getJSON('/markers/json', function (data) {
                                var locations = JSON.parse(data);
                                for (var i = 0; i < locations.length; i++) {
                                    addMarker(locations[i].lat, locations[i].lng);
                                }
                            });*/
                        });
                    }

/*                    google.maps.event.addListenerOnce(map, 'idle', function () {
                        iLoadPoints += 1;
                        if (iLoadPoints === 2) {
                            initialize();
                        }
                    });
                    google.maps.event.addDomListener(window, 'load', function () {
                        iLoadPoints += 1;
                        if (iLoadPoints === 2) {
                            initialize();
                        }
                    });*/
                    google.maps.event.addDomListener(window, 'load', initialize);
        </script>
我认为你必须重新设计你的应用程序。在jQuery中移动部分.....函数在initialize()函数内部的一个适当的tree - o函数中。

最新更新