android无法从地方选择器中选择位置

时间:2016-08-13 08:27:15

标签: android

我无法从地方选择器中选择位置。

在选择地点时禁用select按钮,但在何时搜索位置并选择则启用select按钮。

我正在使用播放服务版

 com.google.android.gms:play-services-location:9.4.0 

com.google.android.gms:play-services:9.4.0

 btn_locationSend.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder();
                try {
                    startActivityForResult(builder.build(ChatThreadActivity.this),PLACE_PICKER_REQUEST);
                } catch (GooglePlayServicesRepairableException e) {
                    e.printStackTrace();
                } catch (GooglePlayServicesNotAvailableException e) {
                    e.printStackTrace();
                }
            }
        });
    }





    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
        switch (requestCode) {
            case PLACE_PICKER_REQUEST:
                Place place = PlacePicker.getPlace(this,data);
                LatLng location = place.getLatLng();
                String toastMsg = String.format("Place: %s", place.getName());
     } }

3 个答案:

答案 0 :(得分:2)

如果您的问题尚未解决。在开发控制台中启用Google Places API for Android

这是因为您未授权在Google地图上使用Google地方信息。只需转到该链接并启用适用于Android的Google Places API

答案 1 :(得分:1)

可能有点晚了,但请查看我听到同样问题的答案(Disable select button while selecting location of anonymous location using Place picker google API in android

基本上确保AndroidManifest.xml中的API Key具有正确的名称。虽然protected override void OnModelCreating(DbModelBuilder modelBuilder) { // <... other configurations ...> // modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); // modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>(); // modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>(); // Configure Decimal to always have a precision of 18 and a scale of 4 modelBuilder.Conventions.Remove<DecimalPropertyConvention>(); modelBuilder.Conventions.Add(new DecimalPropertyConvention(18, 4)); base.OnModelCreating(modelBuilder); } 适用于Maps API,但Places API需要com.google.android.maps.v2.API_KEY

如果您使用的是Maps API,则可以使用相同的密钥,这两个API都可以使用后一个kay名称。

答案 2 :(得分:0)

使用此

<application>
  <meta-data
      android:name="com.google.android.geo.API_KEY"
      android:value="YOUR_API_KEY"/>
</application>

这是

的内容
com.google.android.maps.v2.API_KEY