インスタンス化されたマップと検索ボックスがあり、検索が完了した後にマーカーをドロップします。これは正常に機能していますが、場所サービスにクエリを実行して、マーカーがドロップされた場所の近くの場所を取得したいのですが、実行時に次のエラーが発生します: google.maps.places.PlacesService(map) Uncaught TypeError: undefined is not a関数...
以下は、Angular.module.config の関連コードです。
uiGmapGoogleMapApiProvider.configure({
v: '3.17',
libraries: 'places'
});
私のマップコントローラーでは:
1) ロード時のコールバック
uiGmapGoogleMapApi.then(function(maps) {
$scope.googleMapsObject = maps;
});
2) マーカーを作成するイベント ハンドラーをセットアップします。
$scope.searchbox = {
events: {
places_changed: placesChangedHandler
}
}
3) 場所が変更されたときの処理、緯度のマーカーの設定、および (最後の行が問題です) 場所の名前のクエリ。
function placesChangedHandler(searchBox) {
var lat = searchBox.getPlaces()[0].geometry.location.k;
var lgn = searchBox.getPlaces()[0].geometry.location.C;
var center = { latitude: lat , longitude: lgn };
$scope.address = searchBox.getPlaces()[0].adr_address;
$scope.map = {
center: center, zoom: 15
};
setMarker(center);
var service = new google.maps.places.PlacesService($scope.googleMapsObject);
// service.nearbySearch(request, callback);
}
エラーは、その 2 番目から最後の行にあります。(また、これらの変数に到達するためのよりクリーンな方法はありますか?)
よろしくお願いします。