在我的ror应用程序(ruby on rails)上,其中一个google.js.erb函数显示谷歌地图,我添加添加位置功能,我使用extjs框架,但是我遇到了一些更强的问题,相对代码在下面
Ext.onReady(function () {
var mapOptions =
{
zoom: 6,
center: new google.maps.LatLng(30.26, 120.19),
mapTypeId: google.maps.MapTypeId.ROADMAP,
scaleControl: true,
mapTypeControl: true
};
var map = new google.maps.Map(Ext.getDom('mapDiv'), mapOptions);
var googlemappanel=Ext.create('Ext.panel.Panel', {
items: [
{
xtype: 'panel',
region: 'east',
items: [
Ext.create('Ext.form.Panel', {
id: 'zone-form',
items: [
{xtype:"textfield",fieldLabel: '<%= t('code') %>',name: "code", id: 'zoneid'}
],
buttons: [{
handler: function(){
Ext.getCmp('zone-form').getForm().submit({
url : 'basestation_edit',
success : function(form, action){
var base=action.result.griddata
for(var i=0; i<action.result.griddata.length; i++){
marker = new google.maps.Marker({
position: new google.maps.LatLng(base[i].latitude,base[i].longitude),
map: map
});
google.maps.event.addListener(marker, "click", function(event) {
Ext.getCmp('zoneid').setValue(base[i].id);
})
}
}
....
当我提交表单时,谷歌标记会添加到地图中。然而,当我点击标记时,firebug抛出TypeError:base [i]是未定义的错误,google marker添加正常,似乎变量i是恢复,设置全局我没有解决问题。 任何帮助!