Uncaught InvalidValueError:setMap:不是Map的实例

use*_*645 13 google-maps sencha-touch

当我使用sencha touch2.2.1时,我遇到了一个问题.在观众中:

items: [{
    id: 'mapCanvas',
    xtype:'map',
    useCurrentLocation: true,
}]
Run Code Online (Sandbox Code Playgroud)

在控制器中:

var map= Ext.getCmp('mapCanvas');
console.dir(map);
var marker= new google.maps.Marker({
                position: new google.maps.LatLng(25,118),
            });
marker.setMap(map);
Run Code Online (Sandbox Code Playgroud)

报告错误:

Uncaught InvalidValueError:setMap:不是Map的实例,而不是StreetViewPanorama的实例

我可以看到地图,但我看不到标记,以及如何解决问题?

小智 16

试试这个:

    marker = new google.maps.Marker({
                position : position,
                setMap : map
            }); 
Run Code Online (Sandbox Code Playgroud)

它对我有用!

  • 那么setMap和map之间的区别是什么? (3认同)

ziz*_*jab 5

map 不是谷歌地图的实例.

var map= Ext.getCmp('mapCanvas').getMap(); // add getMap() here to get the map instance
console.dir(map);
var marker= new google.maps.Marker({
    position: new google.maps.LatLng(25,118),
});
marker.setMap(map);
Run Code Online (Sandbox Code Playgroud)


geo*_*zip 0

该marker.setMap方法期望参数是 google.maps.Map 对象。这不是其中之一:

var map= Ext.getCmp('mapCanvas');
Run Code Online (Sandbox Code Playgroud)