getGMap() は Map オブジェクトのインスタンスを返します。マップの準備ができていない場合、この関数は undefined を返します。マップの準備ができており、getGMap を呼び出すと確実に Google マップが返されることを通知するイベントまたは方法はありますか?
ありがとう
ヤシュ
getGMap() は Map オブジェクトのインスタンスを返します。マップの準備ができていない場合、この関数は undefined を返します。マップの準備ができており、getGMap を呼び出すと確実に Google マップが返されることを通知するイベントまたは方法はありますか?
ありがとう
ヤシュ
コントローラー内で使用できます- docsuiGmapIsReady
を参照IsReady
してください。
uiGmapIsReady
戻り値:
- マップがロードされて準備ができたら、プロミス
- マップ情報の配列 (これを呼び出しましたmap_instances
)
- 配列の長さは、ページにロードしたマップの数によって異なります
- 配列内の各オブジェクトには、 Google マップ オブジェクト
コントロール オブジェクトで readyを使用getGmap()
するには、次のようになります。
HTML
<div ng-app="myApp" ng-controller="myController">
<ui-gmap-google-map
center="map.center"
zoom="map.zoom"
control="map.control">
</ui-gmap-google-map>
</div>
コントローラ
myApp.controller('myController', function ($scope, uiGmapIsReady) {
$scope.map = {
center : {
latitude: 37.7749295,
longitude: -122.4194155
},
zoom : 14,
control : {}
};
uiGmapIsReady.promise()
.then(function (map_instances) {
var map1 = $scope.map.control.getGMap(); // get map object through $scope.map.control getGMap() function
var map2 = map_instances[0].map; // get map object through array object returned by uiGmapIsReady promise
});
});
次の 2 つの方法でマップ オブジェクトにアクセスする方法にも注意
して
ください。map_instances
[map1Instance, map2Instance, ...]
$scope.map.control.getGMap()
$scope
tilesloaded イベントをマップ オプションの「events」プロパティに渡すことでアタッチできます。tilesloaded は、タイルがマップに読み込まれた後に発生します (したがって、マップが読み込まれます)。