2016-05-20 9 views

Antwort

1

am Mapbox Android SDK Führung Sehen, wie folgt vorgehen:

Führen Sie eine des Beispiel-Code auf dem Haupt-UI-Thread nicht ausgeführt werden. 1

Beispiel:

Bitte beachten Sie, dass die positionParameter optional ist aber immer Ergebnisse schneller machen.

// position used for proximity 
Position position = Position.fromCoordinates(-73.98572, 40.74843); 

MapboxGeocoding client = new MapboxGeocoding.Builder() 
      .setAccessToken("<your access token here>") 
      .setLocation("Empire State Building") 
      .setProximity(position) 
      .build(); 

Response<GeocodingResponse> response = client.execute(); 

Beispiel 2:

MapboxGeocoding client = new MapboxGeocoding.Builder() 
      .setAccessToken("<your access token here>") 
      .setLocation("Empire State Building") 
      .build(); 

Response<GeocodingResponse> response = client.execute(); 
+0

Das ist das Gegenteil von dem, was ich will. Ich besitze die Adresse und möchte die Koordinaten dazu. Aber danke für die Antwort. –

+1

Die angegebenen Koordinaten sind zu eng bei der Suche nach der Adresse. –

+0

Clive ist korrekt, da die Koordinaten zur Verzerrung der Ergebnisse verwendet werden. Es ist ein optionaler Parameter, wird aber die Ergebnisse schneller machen. Um ein vollständiges Beispiel für die Verwendung unseres Geocodierers in Ihrer Android-App zu erhalten, fügen Sie das Mapbox Android Services SDK in Ihr 'build.gradle' ein und folgen Sie diesem [Beispiel] (https://www.mapbox.com/android-sdk/ Beispiele/Geocodierung /) – cammace

1

Sie müssen einen Mapbox.GeocodingBuilder verwenden, eine Response erhalten und Zugriff auf das Feld, das Sie aus der Response wollen.

Hier ist ein einfaches Beispiel, das ich online gefunden und leicht bearbeitet habe.

private void simpleSample() { 
    MapboxGeocoder client = new MapboxGeocoder.Builder() 
      .setAccessToken(MAPBOX_ACCESS_TOKEN) 
      .setLocation("The White House") 
      .build(); 

    client.enqueue(new Callback<GeocoderResponse>() { 
     @Override 
     public void onResponse(Response<GeocoderResponse> response, Retrofit retrofit) { 
      // Features, basically, is a list of search results 
      // get the first one 
      // get latitude and longitude 
      String latitude = response.body().getFeatures().get(0).getLatitude(); 
      String longitude = response.body().getFeatures().get(0).getLongitude(); 
     } 

     @Override 
     public void onFailure(Throwable t) { 
      // log t.getMessage() 
     } 
    }); 
} 

Sie können auf ihre API 101 webpage einige Grundlagen über die MapBox Geocoding API lesen.

Sie können einige offizielle Beispiele auf der mapbox Geocoding API documentation page

sehen Sie Suchbegriffe versuchen und sehen, die Ergebnisse auf einer Karte oder als JSON —, die für das Sehen die Form der Ergebnisdaten nützlich ist und wie es — zu durchqueren auf der API forward geocoding playground page (Hinweis: Sie müssen sich in einem Mapbox-Konto anmelden, um dies zu tun, aber eine ist kostenlos, wenn Sie keine haben).

(Full Disclosure:. I für SmartyStreets gearbeitet, eine Adressprüfung und automatische Vervollständigung Unternehmen mit competing products)