使用谷歌地图飞镖类'GElement'没有实例方法'[]'

时间:2014-12-30 16:28:00

标签: google-maps dart

根据这个网站,我正在尝试使用带有飞镖的谷歌地图:

https://pub.dartlang.org/packages/google_maps

我收到了这个错误:

Exception: Class 'GElement' has no instance method '[]'.
NoSuchMethodError: method not found: '[]'
Receiver: Instance of 'GElement'
Arguments: ["maps"] (package:google_maps/src/generated/core/base/lat_lng.dart:24)

我的.dart源代码是:

import 'dart:html';
import 'package:polymer/polymer.dart';
import 'package:google_maps/google_maps.dart';

@CustomTag('rifidi-map')
class RifidiMap extends PolymerElement {

  RifidiMap.created() : super.created()  {

  main();

  }

  void main() {
        final mapOptions = new MapOptions()
          ..zoom = 8
          ..center = new LatLng(-34.397, 150.644)
          ..mapTypeId = MapTypeId.ROADMAP

          ;

        final map = new GMap(querySelector("#map_canvas"), mapOptions);

  }

}

.HTML文件具有导入以使用脚本:

http://maps.googleapis.com/maps/api/js?sensor=false

我目前使用的版本是:

Dart editor: versión 1.8.3
gogle_maps dart dependency: >=2.0.7 <3.0.0
polymer dart dependency: >=0.15.0 <0.16.0

有没有人有一个可以与我分享的工作空间,看看如何使用dart实现谷歌地图聚合物组件?感谢

1 个答案:

答案 0 :(得分:0)

除了Polymer elements构造函数中的局部变量初始化之外,您不应该做任何事情。请改用生命周期方法。

import 'dart:html';
import 'package:polymer/polymer.dart';
import 'package:google_maps/google_maps.dart';

@CustomTag('rifidi-map')
class RifidiMap extends PolymerElement {

  RifidiMap.created() : super.created();

  @override
  void ready() {
    final mapOptions = new MapOptions()
        ..zoom = 8
        ..center = new LatLng(-34.397, 150.644)
        ..mapTypeId = MapTypeId.ROADMAP;

        final map = new GMap(querySelector("#map_canvas"), mapOptions);
  }
}

我不知道google_maps包裹。它可能仍然不起作用。