0

以下代码在控制台中返回:

无法调用未定义的方法“setCenter”

this.locateUser = function() {
    if(navigator && navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(position) {
                var latitude = position.coords.latitude,
                    longitude = position.coords.longitude;
                var coords = google.maps.LatLng(latitude, longitude);
                self.map.setCenter(coords);
            });
    }

看起来坐标有问题

4

2 回答 2

1

您的代码块不完整,所以我不得不在这里猜测很多:您正在访问self.map.setCenter. 错误消息说“无法调用未定义的方法'setCenter'”,所以虽然self定义了,self.map但不是。您的代码不包含selfor的定义self.map,因此问题可能出在其他地方。

此外,您不应self在代码中声明和用作变量,因为self它永远不会未定义(它指的是window如果未在本地声明)。改为使用var that = this;

于 2013-01-16T14:01:34.683 回答
0

试试这样:

 map.setCenter(new GLatLng(latitude, -longitude), 13);
于 2013-01-16T14:00:33.760 回答