Googleplace不会保存到收藏中

时间:2016-03-11 01:39:29

标签: meteor

我目前正在使用lukemadera:autoform-googleplace来保存用户地址。当用户保存其地址时,它只会将fullAddress field保存在架构中。我以为它把地址分成了几部分;街道,州,邮政等。如果需要,您可以单独发布地址部分。我希望能够在某些情况下只发布state,但我不知道该怎么做,因为我拥有的是一个fullAddress字段字符串。如果您需要更多说明,请告诉我。

路径:address.js

Template.address.helpers({
  optsGoogleplace: function() {
    return {
      // type: 'googleUI',
      // stopTimeoutOnKeyup: false,
      googleOptions: {
        componentRestrictions: { country:'au' }
      }
    }
  },

});

路径:address.html

{{#autoForm collection="Meteor.users" id="user" doc=currentUser type="update"}}
{{> afQuickField name="profile.address" type="googleplace" opts=optsGoogleplace class="form-control"}}
{{autoForm}}

路径:Schema.js

Schema.Address = new SimpleSchema({
        fullAddress: {
            type: String
        },
        lat: {
            type: Number,
            decimal: true
        },
        lng: {
            type: Number,
            decimal: true
        },
        geometry: {
            type: Object,
            blackbox: true
        },
        placeId: {
            type: String
        },
        street: {
            type: String,
            max: 100
        },
        city: {
            type: String,
            max: 50
        },
        state: {
            type: String,
            regEx: /^A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY]$/
        },
        zip: {
            type: String,
            regEx: /^[0-9]{5}$/
        },
        country: {
            type: String
        }
    });

1 个答案:

答案 0 :(得分:0)

如果你设置正确,这样的事情应该有效:

Schemas = {};

Schemas.Address = new SimpleSchema({
    fullAddress: {
        type: String
    },
    lat: {
        type: Number,
        decimal: true
    },
    lng: {
        type: Number,
        decimal: true
    },
    geometry: {
        type: Object,
        blackbox: true
    },
    placeId: {
        type: String
    },
    street: {
        type: String,
        max: 100
    },
    city: {
        type: String,
        max: 50
    },
    state: {
        type: String,
    },
    zip: {
        type: String,
    },
    country: {
        type: String
    },
});



Schemas.MainSchema = new SimpleSchema({
    address: {
        type: Schemas.Address,
        optional: true
    }
});


MainSchema = new Mongo.Collection("MainSchema");

MainSchema.attachSchema(Schemas.MainSchema);


MainSchema.allow({
    insert: function () { return true; },
    update: function () { return true; },
    remove: function () { return true; }
});

也许看看这些:

我唯一的另一个猜测是你的谷歌选项助手出了问题。我现在没有使用它,上面的设置对我有用。