我试图创建angular.dart
与多个视图单页的应用程序,但我不能找到装载了一个工作示例谷歌地图在视图被路由到。装载谷歌地图
我正在使用google_maps
包。它的工作原理了罚款当div
元素包含地图在主index.html
页面定义,但当地图div在视图中定义一个异常被抛出:
'TypeError: Cannot read property 'offsetWidth' of null'
我想这意味着该视图有不在加载指令类时已呈现。如何在视图中加载地图?
这里是路由器:
@InjectableService()
class DefaultRouteInitializer implements RouteInitializer {
init(Router router, ViewFactory view) {
router.root
..addRoute(
name: 'city',
path: '/city',
enter: view('view/city_view.html'));
}
}
和视图的html:
<div city-ctrl>
<div class="row">
<div class="col-md-12">
<div id="city_map_canvas" style="width: 100px; height: 100px;"> </div>
</div>
</div>
</div>
而指令类具有创建实际的地图问题:
import 'dart:html';
import 'package:angular/angular.dart';
import 'package:google_maps/google_maps.dart';
@NgDirective(
selector: '[city-ctrl]'
)
class CityController {
CityController() {
final mapOptions = new MapOptions()
..zoom = 8
..center = new LatLng(-34.397, 150.644)
..mapTypeId = MapTypeId.ROADMAP
;
final map = new GMap(querySelector("#city_map_canvas"), mapOptions);
}
}
这是你如何解决它,或者是它仍然没有工作? –