我試圖創建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);
}
}
這是你如何解決它,或者是它仍然沒有工作? –