2017-07-19 12 views
-1

私はgoogles apiを使用してアプリをやっています。私は周りを再生のわずか2時間後に私は場所の検索APIを最大限に気づいた。場所api Webサービスで多くのリクエストには、別の方法で行うことは可能ですか?

enter image description here

私がアドレスを検索し、地図に追加できるようにしたいです。これは間違っているのですか?それとも、なぜ私はすでに多くのリクエストを作成していますか? アドレスを他の場所に取得することはできますか?

私はこれが間違っていると言うのは難しいかもしれませんが、リクエストの見た目だけでは、私のコードが多くの要求に応えていると言えるかもしれないと思っていました。

これは私が使用しているコードです:

  $scope.initiateMap = function() { 
       $scope.map = new google.maps.Map(document.getElementById('map'), { 
        zoom: 11 
       }); 
       //var marker = new google.maps.Marker({ 
       // position: uluru, 
       // map: map 
       //}); 

       navigator.geolocation.getCurrentPosition(function (position) { 
        var initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
        $scope.map.setCenter(initialLocation); 
       }, function() { 
        console.log('user denied request for position'); 
        }); 

       var input = document.getElementById('address-field'); 
       var searchBox = new google.maps.places.SearchBox(input); 
       //map.controls[google.maps.ControlPosition.TOP_LEFT].push(input); 

       $scope.map.addListener('bounds_changed', function() { 
        searchBox.setBounds($scope.map.getBounds()); 
       }); 

       var markers = []; 
       searchBox.addListener('places_changed', function() { 
        var places = searchBox.getPlaces(); 
        //var address_autocomplete = new google.maps.places.Autocomplete(address_input, { types: ['address'] }); 
        //if (places.length == 0) { 
        // return; 
        //} 

        // Clear out the old markers. 
        markers.forEach(function (marker) { 
         marker.setMap(null); 
        }); 
        markers = []; 

        // For each place, get the icon, name and location. 
        var bounds = new google.maps.LatLngBounds(); 
        places.forEach(function (place) { 
         if (!place.geometry) { 
          console.log("Returned place contains no geometry"); 
          return; 
         } 
         if (place.types[0] !== "street_address") { 
          alert("not a street address"); 
          markers = []; 
          markers.forEach(function (marker) { 
           marker.setMap(null); 
          }); 
          return; 
         } 
         $scope.apartment.Address.Longitude = place.geometry.location.lng(); 
         $scope.apartment.Address.Latitude = place.geometry.location.lat(); 

         $scope.apartment.Address.AddressName = place.formatted_address; 
         var icon = { 
          url: place.icon, 
          size: new google.maps.Size(71, 71), 
          origin: new google.maps.Point(0, 0), 
          anchor: new google.maps.Point(17, 34), 
          scaledSize: new google.maps.Size(25, 25) 
         }; 

         // Create a marker for each place. 
         markers.push(new google.maps.Marker({ 
          map: $scope.map, 
          icon: icon, 
          title: place.name, 
          position: place.geometry.location 
         })); 

         if (place.geometry.viewport) { 
          // Only geocodes have viewport. 
          bounds.union(place.geometry.viewport); 
         } else { 
          bounds.extend(place.geometry.location); 
         } 
        }); 
        $scope.map.fitBounds(bounds); 
       }); 
      } 
+0

Googleのデベロッパーコンソールで、あなたが何件のリクエストをしたかを見ることができます。コード –

+0

を表示するには、問題の画像はそのコンソールからのものです。または、別のイメージが必要ですか? –

+0

これは150kリクエストまで設定できます。https://stackoverflow.com/questions/33055206/google-places-api-how-do-i-increase-the-free-quota-to-150-000 -requests-per-day –

答えて

0

それはGoogleのガイドに言われているように、あなたが課金有効にすることで、24時間15万件のリクエストまで、要求は無料で制限増やすことができますGoogle APIコンソールこれはあなたの身元を確認するだけなので、カードは請求されません。

詳細はhereをご覧ください。

+0

!私はそれに取り組んでいます。 1000リクエストが本当に速くなったような気分です。しかし、おそらくそれはどのように動作します。 –

関連する問題