ocLazyLoading で Google マップに問題が発生し、「このページに Google Maps API が複数回含まれています。予期しないエラーが発生する可能性があります」というエラー メッセージが表示されます。ページ読み込みのパフォーマンスを向上させる必要があるときはいつでも、ocLazyLoading を使用してすべての依存関係を読み込みます。
Google マップは最初のリクエストでは機能しますが、同じページへの後続のリクエストでは、「このページに Google Maps API が複数回含まれています」というエラーが発生し、マップが表示されません。
以下は、ocLazyLoad で依存関係を解決するために使用されるコードです。参考までに、ルーティングにAngular UIルーターを使用しています。これは、IONICフレームワークを備えたハイブリッドモバイルアプリです。
.state('abstractpage.page1', {
cache: false,
url: "/page1/{param}",
views: {
'menuContent': {
templateUrl: "views/page1.html",
controller: "page1ctrl"
}
},
resolve: {
loadMap: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load({
serie: true,
files: [
'js!https://maps.googleapis.com/maps/api/js',
'scripts/shared/markerwithlabel.js',
'scripts/shared/markercluster_compressed.js',
'libs/infobox.js'
]
})
}]
}
})