0

私はAPI googleの場所でプロジェクトを進めています。私はPlacePickerを使用し、私はどこにPlacePickerを起動するために私の携帯電話を追跡します。これは、場所とPlacePickerを持つ私のクラスです。PlacePickerが場所で起動しない

public class ProspectionActivity extends BaseActivity { 
    private static final int PLACE_PICKER_REQUEST = 1; 
    private TextView mName; 
    private TextView mAddress; 
    private TextView mAttributions; 
    private static final LatLngBounds BOUNDS_MOUNTAIN_VIEW = new LatLngBounds(
      new LatLng(48.8453849, 2.328134900000009), new LatLng(48.866667, 2.333333)); 
        public double latitude; 
    public double longitude; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

    FrameLayout contentFrameLayout = (FrameLayout) findViewById(R.id.content_frame); //Remember this is the FrameLayout area within your activity_base.xml 
    getLayoutInflater().inflate(R.layout.activity_prospection, contentFrameLayout); 
    LocationManager service = (LocationManager) getSystemService(LOCATION_SERVICE); 
    boolean enabled = service 
      .isProviderEnabled(LocationManager.GPS_PROVIDER); 

    if (!enabled) { 
     Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); 
     startActivity(intent); 
    } 

    LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
    Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
    if (location!=null){ 
     longitude = location.getLongitude(); 
     latitude = location.getLatitude(); 
     final LatLngBounds coordinate = new LatLngBounds(new LatLng(latitude-0.000005, longitude-0.000005),new LatLng(latitude+0.000005,longitude+0.000005)); 
     mName = (TextView) findViewById(R.id.textView); 
     mAddress = (TextView) findViewById(R.id.textView2); 
     mAttributions = (TextView) findViewById(R.id.textView3); 
     Button pickerButton = (Button) findViewById(R.id.pickerButton); 
     pickerButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       try { 
        PlacePicker.IntentBuilder intentBuilder = 
          new PlacePicker.IntentBuilder(); 
        intentBuilder.setLatLngBounds(coordinate); 
        Intent intent = intentBuilder.build(ProspectionActivity.this); 
        startActivityForResult(intent, PLACE_PICKER_REQUEST); 

       } catch (GooglePlayServicesRepairableException 
         | GooglePlayServicesNotAvailableException e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

} 

@Override 
protected void onActivityResult(int requestCode, 
           int resultCode, Intent data) { 

    if (requestCode == PLACE_PICKER_REQUEST 
      && resultCode == Activity.RESULT_OK) { 

     final Place place = PlacePicker.getPlace(this, data); 
     final CharSequence name = place.getName(); 
     final CharSequence address = place.getAddress(); 
     String attributions = (String) place.getAttributions(); 
     if (attributions == null) { 
      attributions = ""; 
     } 

     mName.setText(name); 
     mAddress.setText(address); 
     mAttributions.setText(Html.fromHtml(attributions)); 

    } else { 
     super.onActivityResult(requestCode, resultCode, data); 
    } 
} 

} `
残念ながら、私はPlacePickerを起動するボタンをクリックしたとき。何も起こりません。誰かが私を助けてくれたら。

ここに私のマニフェスト

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".BaseActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <activity 
     android:name=".ProspectionActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <meta-data 

     android:name="com.google.android.gms.version" 
     android:value="@integer/google_play_services_version"/> 
    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="AIzaSyAfOvxBfhFLmQEgopaNIonahIYaR9jVKrk" /> 

</application> 

答えて

1

何が起こっているのかを教えてくれるエラーのlogcat出力で見ることが役に立つかもしれない 。

あなたのマニフェストを見ると、あなたはACCESS_FINE_LOCATIONの許可を要求していないことがわかります。これは問題かもしれません。次を追加してください:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
+0

ありがとうございます。問題は、電話機が場所を見つけられないので、何も立ち上げられないということでした。 –

関連する問題