谷歌没有定义google.maps.event.addDomListener(窗口,'加载',初始化);

时间:2014-06-30 08:55:20

标签: cordova google-maps-api-3

我正在尝试将google地图添加到我的cordova应用程序中,我从开发人员网站复制了代码以试用它,但错误Uncaught ReferenceError: google is not defined正在出现。知道如何解决这个问题吗?

编辑:

var map;

function initialize() {
    var mapOptions = {
        zoom: 6
    };
    map = new google.maps.Map(document.getElementById('map-canvas'),
    mapOptions);

    // Try HTML5 geolocation
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function (position) {
            var pos = new google.maps.LatLng(position.coords.latitude,
            position.coords.longitude);

            var infowindow = new google.maps.InfoWindow({
                map: map,
                position: pos,
                content: 'Location found using HTML5.'
            });

            map.setCenter(pos);
        }, function () {
            handleNoGeolocation(true);
        });
    } else {
        // Browser doesn't support Geolocation
        handleNoGeolocation(false);
    }
}

function handleNoGeolocation(errorFlag) {
    if (errorFlag) {
        var content = 'Error: The Geolocation service failed.';
    } else {
        var content = 'Error: Your browser doesn\'t support geolocation.';
    }

    var options = {
        map: map,
        position: new google.maps.LatLng(60, 105),
        content: content
    };

    var infowindow = new google.maps.InfoWindow(options);
    map.setCenter(options.position);
}

google.maps.event.addDomListener(window, 'load', initialize);

我刚刚将此代码复制到我的html文件中。 logcat显示google未在最后一行定义。我拥有的cordova项目是一个新项目,所以我不知道为什么会出现这个错误。

感谢。

1 个答案:

答案 0 :(得分:0)

根据您提到的错误,我了解到您的代码执行时谷歌地图api lib不可用。确保在包含您的网页之前添加了google api script code' js&#39 ;文件。