2017-03-06 130 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

为什么你不能从地理编码检查国名? – Rahul

+0

@Rahul默认情况下,它似乎只返回前5名的结果(不知道它是如何被选中的),我也看不到一个地方设置返回计数。而且它确实发生了5个结果全部来自新西兰。 – LittleBooger

回答

0

您可以使用country参数将结果限制到特定的国家/地区。您也可以使用bbox参数将结果限制为任意的边界框。接近参数只是一个偏差,而不是一个严格的过滤器。

更多信息可从API docs获取。

0

得到 “setCountry” 需要您给我们MapboxGeocoding不MapboxGeocoder这样

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

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

      .setProximity(position) 

      .build(); 

直到我使用它,我才得到setCountry。