2015-08-06 5 views
0

Я знаю, что это было задано несколько раз, но во всех ответах я не нашел решения, поэтому я пришел, чтобы спросить себя.Проблема с Google Maps GeoPoint

В действии под названием «DeAs» у меня есть адрес editText адреса, и я хочу отобразить список потенциального адреса ниже редактируемого текста editText.

Так первый в Android Manifest, я написал это:

<activity android:name=".DeAs"> 
     <uses-library android:required="true" android:name="com.google.android.maps" /> 
    </activity> 

Я преобразовать мой build.gradle загрузить Google API:

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 'Google Inc.:Google APIs:22' 
buildToolsVersion '22.0.1' 

defaultConfig { 
    applicationId "com.example.fabien.rh" 
    minSdkVersion 15 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:22.2.1' 
compile 'com.google.android.gms:play-services:7.5.0' 
} 

Я объявлен Слушатель на мой EditText:

adressete = (EditText) rootView.findViewById(R.id.daadressete); 

     adressete.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) { 
       new SearchClicked(adressete.getText().toString(),getActivity()).execute(); 

      } 

      @Override 
      public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {} 

      @Override 
      public void afterTextChanged(Editable arg0) {} 
     }); 

Сначала я написал EditorActionListener, но он не работает, и я читал, что для Севера В версиях Android редактор-редактор никогда не назывался. В этом Слушателя я называю класс SearchClicked, который находится ниже:

import android.content.Context; 
import android.location.Address; 
import android.location.Geocoder; 

import android.os.AsyncTask; 
import android.util.Log; 

import com.google.android.maps.GeoPoint; 

import java.util.List; 
import java.util.Locale; 

public class SearchClicked extends AsyncTask<Void, Void, Boolean> { 
private String toSearch; 
private Address address; 
private Context c; 

public SearchClicked(String toSearch, Context c) { 
    this.toSearch = toSearch; 
    this.c= c; 
} 

@Override 
protected Boolean doInBackground(Void... voids) { 

    try { 
     Geocoder geocoder = new Geocoder(c, Locale.UK); 
     List<Address> results = geocoder.getFromLocationName(toSearch, 1); 

     if (results.size() == 0) { 
      return false; 
     } 

     address = results.get(0); 

     // Now do something with this GeoPoint: 
     GeoPoint p = new GeoPoint((int) (address.getLatitude() * 1E6), (int) (address.getLongitude() * 1E6)); 

    } catch (Exception e) { 
     Log.e("", "Something went wrong: ", e); 
     return false; 
    } 
    return true; 
} 
} 

Когда я запустить его, это хорошо нагрузки, но когда я пытаюсь что-то писать на EditText я есть ошибка:

Could not find class 'com.google.android.maps.GeoPoint' 
ATAL EXCEPTION: AsyncTask #1 
Process: com.example.fabien.rh, PID: 26795 
java.lang.RuntimeException: An error occured while executing doInBackground() 
     at android.os.AsyncTask$3.done(AsyncTask.java:300) 
     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 
     at java.util.concurrent.FutureTask.setException(FutureTask.java:222) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
     at java.lang.Thread.run(Thread.java:841) 
Caused by: java.lang.NoClassDefFoundError: com.google.android.maps.GeoPoint 
     at com.example.fabien.renthelper.SearchClicked.doInBackground(SearchClicked.java:40) 
     at com.example.fabien.renthelper.SearchClicked.doInBackground(SearchClicked.java:16) 
at android.os.AsyncTask$2.call(AsyncTask.java:288) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:237) 

at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
            at java.lang.Thread.run(Thread.java:841) 

на этой теме, я бы потенциально нашел решение: Libraries do not get added to APK anymore after upgrade to ADT 22 Но я не нахожу «Заказ и экспорт» в Android Studio, и у меня нет «Android Частные библиотеки»: когда я смотрю для библиотек в «Project Structure» все у меня есть это:

"support-annotations (com.android.support-annotations:22.2.1) 
support-v4 (com.android.support:support-v4:22.2.1) 
support-v13 (com.android.support-v13:22.2.1) 
appcompat-v7 (com.android.support:appcompat-v7:22.2.1) 
design (com.android.design:22.2.1) 
gridlayout-v7 (com.android.support.gridlayout-v7:22.2.1) 
mediarouter-v7 (com.android.support:mediarouter-v7:22.2.1) 
play-services (com.google.android.gms:play-services:7.5.0) 
play-service-wearable (com.google.android.gms:play-services_wearable:7.5.0) 
cardview-v7 (com.android.support-cardview-v7:22.2.1) 
palette-v7 (com.android.support-palette-v7:22.2.1) 
[...]" 

Если вы можете помочь, заранее! ;)

+0

я не уверен, я вижу вопрос. Вам нужно решить проблему с этим: 'Caused by: java.lang.NoClassDefFoundError: com.google.android.maps.GeoPoint' – Fixus

ответ

1

Я не знаю, как этот код мог компилироваться, и из опубликованных элементов он не на 100% не понял, как вы настроили сборку на студии android, но в любом случае GeoPoint отсутствует в google maps API v2.

Вы должны использовать вместо этого LatLng объект: https://developers.google.com/android/reference/com/google/android/gms/maps/model/LatLng

+0

Спасибо, это было то, что я искал! Я не знал, что GeoPoint больше не включен! – ImFabien75

Смежные вопросы