【发布时间】:2017-03-11 17:53:24
【问题描述】:
我正在学习如何使用 Ext.js 框架,并且正在使用 MVVM 模型构建简单的应用程序。我构建了一个简单的地图并尝试对其进行服装化,我使用 Google API 和 GMapPanel 小部件做了一个应用程序,现在我想创建一个新样式并添加它,但我在添加我的服装样式时遇到了一些问题.
我收到以下错误:
未捕获的类型错误:无法读取未定义的属性“集” 在 constructor.init (MapController.js?_dc=20151109082919:198) 在新的构造函数(ext-all-rtl-debug.js?_dc=20151109082919:63176) 在构造函数 [as self] (ext-all-rtl-debug.js?_dc=20151109082919:12296) 在 Object.widget (ext-all-rtl-debug.js?_dc=20151109082919:14662) 在 constructor.create (ext-all-rtl-debug.js?_dc=20151109082919:26228) 在 constructor.lookupComponent (ext-all-rtl-debug.js?_dc=20151109082919:123938) 在 constructor.prepareItems (ext-all-rtl-debug.js?_dc=20151109082919:124418) 在 constructor.add (ext-all-rtl-debug.js?_dc=20151109082919:123436) 在 constructor.initItems (ext-all-rtl-debug.js?_dc=20151109082919:123861) 在 constructor.initComponent (ext-all-rtl-debug.js?_dc=20151109082919:123821)
我的代码:
init: function () {
var me = this,
map = me.getView(), //Reference to map view
store = map.getViewModel().getStore('Markers'), // Get the store from the ViewModel
markers = [], // Create and empty markers array
data;
// Load the store
store.load(function (records) {
// Iterate through each record
Ext.each(records, function (record) {
data = record.getData(); // Get the data object from each record
markers.push(data); // Push the objects onto the markers array
});
});
map.markers = markers; // Set the markers config for the Map component to the markers array
var styledMapType = new google.maps.StyledMapType(
[
{elementType: 'geometry', stylers: [{color: '#ebe3cd'}]},
{elementType: 'labels.text.fill', stylers: [{color: '#523735'}]},
{elementType: 'labels.text.stroke', stylers: [{color: '#f5f1e6'}]},
{
featureType: 'administrative',
elementType: 'geometry.stroke',
stylers: [{color: '#c9b2a6'}]
},
{
featureType: 'administrative.land_parcel',
elementType: 'geometry.stroke',
stylers: [{color: '#dcd2be'}]
},
{
featureType: 'administrative.land_parcel',
elementType: 'labels.text.fill',
stylers: [{color: '#ae9e90'}]
},
{
featureType: 'landscape.natural',
elementType: 'geometry',
stylers: [{color: '#dfd2ae'}]
},
{
featureType: 'poi',
elementType: 'geometry',
stylers: [{color: '#dfd2ae'}]
},
{
featureType: 'poi',
elementType: 'labels.text.fill',
stylers: [{color: '#93817c'}]
},
{
featureType: 'poi.park',
elementType: 'geometry.fill',
stylers: [{color: '#a5b076'}]
},
{
featureType: 'poi.park',
elementType: 'labels.text.fill',
stylers: [{color: '#447530'}]
},
{
featureType: 'road',
elementType: 'geometry',
stylers: [{color: '#f5f1e6'}]
},
{
featureType: 'road.arterial',
elementType: 'geometry',
stylers: [{color: '#fdfcf8'}]
},
{
featureType: 'road.highway',
elementType: 'geometry',
stylers: [{color: '#f8c967'}]
},
{
featureType: 'road.highway',
elementType: 'geometry.stroke',
stylers: [{color: '#e9bc62'}]
},
{
featureType: 'road.highway.controlled_access',
elementType: 'geometry',
stylers: [{color: '#e98d58'}]
},
{
featureType: 'road.highway.controlled_access',
elementType: 'geometry.stroke',
stylers: [{color: '#db8555'}]
},
{
featureType: 'road.local',
elementType: 'labels.text.fill',
stylers: [{color: '#806b63'}]
},
{
featureType: 'transit.line',
elementType: 'geometry',
stylers: [{color: '#dfd2ae'}]
},
{
featureType: 'transit.line',
elementType: 'labels.text.fill',
stylers: [{color: '#8f7d77'}]
},
{
featureType: 'transit.line',
elementType: 'labels.text.stroke',
stylers: [{color: '#ebe3cd'}]
},
{
featureType: 'transit.station',
elementType: 'geometry',
stylers: [{color: '#dfd2ae'}]
},
{
featureType: 'water',
elementType: 'geometry.fill',
stylers: [{color: '#b9d3c2'}]
},
{
featureType: 'water',
elementType: 'labels.text.fill',
stylers: [{color: '#92998d'}]
}
],
{name: 'Styled Map'});
map.mapTypes.set('styled_map', styledMapType);
map.setMapTypeId('styled_map');
}
【问题讨论】:
标签: javascript google-maps extjs