Google Maps JavaScript:未捕获错误:属性<map>的值无效:[object Object] </map>

时间:2012-04-13 14:18:09

标签: javascript google-maps-api-3 extjs sencha-touch-2

我正在尝试使用Google地图。我已将地图加载到面板上。

我有一个叠加窗口,我要求在地图上显示方向的源和destionation。 我通过Ext.getCmp('GMap');

获取了对地图的引用

但是,当我在chrome上运行它并检查控制台窗口时,我收到此错误。

Uncaught Error: Invalid value for property <map>: [object Object]

覆盖窗口点击处理程序的示例代码段

listeners : {
   tap : function() {
      function showDirections(res) {
         var directionsService = new google.maps.DirectionsService();
         var directionsDisplay = new google.maps.DirectionsRenderer();

         var map = Ext.getCmp('GMap');
         directionsDisplay.setMap(map);
         directionsService.route(request, function(response, status) {
         if (status == google.maps.DirectionsStatus.OK) {
              directionsDisplay.setDirections(response);
         }
    });
  }
 }
}

1 个答案:

答案 0 :(得分:1)

jQuery也是这样做的。当你抓住$(“#GMap”)时,你将返回一个真实元素为[0]的数组。将getCmp()的结果重新填充为实际的dom元素。 http://www.sencha.com/forum/showthread.php?122684-accessing-component-property-from-variable-dom-element-or-Ext.getCmp()似乎相似。