2016-11-16 116 views
1

我将其添加到我的Android应用程序Place Picker中。当你知道你想选择的地点并填写研究栏时,它就可以工作。 但我希望用户有可能在使用红色选择器时选择他所选择的位置,而这部分不起作用。适用于Android的Google Place API:无法使用Place Picker的选取器选择地点

当你用红色选择器选择一个地方,然后点击“选择此位置”,如here

我们无法选择该地点。 “选择”按钮呈灰色。就像你可以观察到here

当然,我已经在Google Developer Console上启用Google Place Android API和Google Maps Android API。

我搜索了stackoverflow的原因(和解决方案)。我发现一些帖子说把我们可以在里面谷歌的开发者控制台上发现的API密钥:

<meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="@string/google_maps_key" /> 

我做到了,但没有任何积极的结果。

然后我试图从零开始再次执行Place Picker,但没有成功。

这是我在地点选择器的代码:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_edit_location); 
    Button chooseLocationButton = (Button) findViewById(R.id.choose_location); 
    PlacePicker.IntentBuilder intentBuilder = new PlacePicker.IntentBuilder(); 
    try { 
     final Intent intent = intentBuilder.build(this); 
     chooseLocationButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivityForResult(intent, REQUEST_PLACE_PICKER); 
      } 
     }); 

    } catch (GooglePlayServicesRepairableException e) { 
     e.printStackTrace(); 
     // TODO handle exception! 
    } catch (GooglePlayServicesNotAvailableException e) { 
     e.printStackTrace(); 
     // TODO handle exception! 
    } 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == REQUEST_PLACE_PICKER) { 
     if (resultCode == RESULT_OK) { 
      Place place = PlacePicker.getPlace(data, this); 
      String toast = String.format("Place: %s", place.getName()); 
      longitude = place.getLatLng().longitude; 
      latitude = place.getLatLng().latitude; 
      Toast.makeText(this, toast, Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

我不找了解决方案,试图在互联网上。这就是为什么我写这个问题。有没有人知道为什么这不起作用?

谢谢。

回答

1

我认为您的API控制台中未启用“Google Places API for Android”,请启用它。我曾经遇到同样的问题。我解决了使用上述解决方案。

相关问题