开发者问题收集

如何在google.maps.events.addlistener(标记,'dragend',function(){});在离子3中

2018-08-08
139
google.maps.event.addListener(Marker, 'click', (function(Marker) {
  return function() {
    this.storage.set('mylocation', this.Marker.getPosition()); 
  }
})(Marker));

polyfills.js:3 未捕获 TypeError:无法读取未定义的属性“set”

当我尝试使用来自 google 地图标记 dragend 事件的响应在 Ionic 3 中设置存储时出现此错误。

2个回答

Cannot read property 'set' of undefined

这意味着“存储”未定义。 如果存储未定义,请确保在构造函数中声明它并正确导入它,如下所示: Ionic Storage Docs

import { Storage } from '@ionic/storage';

export class MyApp {
  constructor(private storage: Storage) { }

  ...

  // set a key/value
  this.storage.set('name', 'Max');

  // Or to get a key/value pair
  this.storage.get('age').then((val) => {
    console.log('Your age is', val);
  });
}

如果由于 this.Marker.getPosition() 为空而引发错误,您可以尝试 Ahkil J 的解决方案:

google.maps.event.addListener(Marker, 'click', (function(Marker) {
  return function() {
    this.LastLat = Marker.position.lat();
    this.LastLng = Marker.position.lng();

    this.storage.set('mylocation', this.LastLat + this.LastLng);    
  }
})(Marker));
2018-08-08

对于那些遇到此错误的人,如下所示。我从这里找到了它 离子框架拖动解决方案

756950995
Akhil J
2018-08-08