2017-03-06 10 views
0

住所の文字列を地理的位置に変換しようとしていました。ここで が簡単なコードです:Android Mapboxジオコーディング

MapboxGeocoder client = new MapboxGeocoder.Builder() 
.setAccessToken(MAPBOX_ACCESS_TOKEN) 
.setLocation("some place") 
.setProximity(longitude, latitude)/*a location of new zealand*/ 
.setType(GeocoderCriteria.TYPE_ADDRESS) 
.build(); 

それが正常に動作し、世界中からの場所のリストを返す、しかし、私はそれがニュージーランドでの位置を返したいです。どのように境界を設定できますか?

+0

Geocoderから国名を確認できないのはなぜですか? – Rahul

+0

@Rahulこれは、デフォルトではトップ5の結果しか返さないようです(どのようにピックアップされるのか分かりません)。また、リターンカウントを設定する場所も表示されませんでした。そして、5つの結果がすべてニュージーランドから出ていることが起こります。 – LittleBooger

答えて

0

countryパラメータを使用して、結果を特定の国に限定することができます。 bboxパラメータを使用して、結果を任意の境界ボックスに限定することもできます。 proximityパラメータはバイアスに過ぎず、厳密なフィルタではありません。

詳細はAPI docsから入手できます。

0

"setCountry" あなたはこの

import com.mapbox.services.api.geocoding.v5.*; 

ようMapboxGeocoderないMapboxGeocoding私たちに必要な取得します。

MapboxGeocoding client = new MapboxGeocoding.Builder() 
      .setAccessToken("pk.eyJ1IjoiamViMTkyMDA0IiwiYSI6ImNpbWNyODZyaDAwMmZ1MWx2dHdzcHQ5M2EifQ.IZsMnB3wOYFIaX1A5sy7Mw") 
      .setLocation(constraint.toString()) 
      .setCountry("us") 
      .setGeocodingType(GeocodingCriteria.TYPE_POI) 

      .setProximity(position) 

      .build(); 

私はこれを使用するまでsetCountryを取得できませんでした。