1

我定义了一个常量'ngGPlacesDefaults',它设置了'google place search'配置文件的默认值。但现在我想根据需要动态更改默认值,即 types:['airport']、types['backery'] 等。为此,我在控制器中注入了上述常量,并尝试从控制器内部设置默认值。但它不起作用我的意思是它没有改变价值观。

我正在为配置文件、常量和控制器提供代码。

任何帮助将非常感激!!

地图配置代码->

app.config(function(ngGPlacesAPIProvider, ngGPlacesDefaults){
	  ngGPlacesAPIProvider.setDefaults(ngGPlacesDefaults);
	});

app.constant 代码->

app.constant('ngGPlacesDefaults', {
    radius:1000000,
    types:['shoe_store'],
    nearbySearchKeys: ['name','geometry', 'reference'],
    placeDetailsKeys: ['name','formatted_address', 'formatted_phone_number',
        'reference', 'website', 'geometry', 'email']
  });

控制器代码->

app.controller('scdfindCustomerCtrl',function($scope,ngGPlacesAPI,$http,ngGPlacesDefaults){

	  ngGPlacesDefaults.types = ["electronics_store"];
	
	$scope.getDetails = function(ref){
		$scope.details = ngGPlacesAPI.placeDetails({reference:ref}).then(
			    function (data) {
			    	$scope.det=data;
			      console.log(data);
			      return data;
			    });
	}
	
	$scope.positions = [{lat:37.7699298,lng:-122.4469157}];
	
	$scope.addMarker = function(event) {
    var ll = event.latLng;
		
    $scope.positions.push({lat:ll.lat(), lng: ll.lng()});
  
	
	$scope.data = ngGPlacesAPI.nearbySearch({latitude:ll.lat(), longitude:ll.lng()}).then(
    function(data){
		$scope.person=data;
		console.log(data);
	  return data;
    });
}

....some more code... 
});

在当前情况下,我希望此代码显示“electronics_store”列表,但它显示“shoe_store”列表。

4

0 回答 0