【问题标题】:Android Mapbox geocodingAndroid Mapbox 地理编码
【发布时间】:2017-03-06 04:04:55
【问题描述】:

我试图将地址字符串转换为地理位置。 这是简单的代码:

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();

它工作正常并返回来自世界各地的位置列表,但是,我只希望它返回新西兰的位置。如何设置边界。

【问题讨论】:

  • 为什么不能从 Geocoder 中查看国家名称?
  • @Rahul 默认情况下似乎只返回前 5 个结果(不知道它是如何被选中的),而且我也看不到设置返回计数的地方。而且这 5 个结果都来自新西兰。

标签: android geocoding mapbox


【解决方案1】:

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

更多信息请访问API docs

【讨论】:

    【解决方案2】:

    要获得“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。

    【讨论】:

    • 你能告诉我我们在 gradle 文件中定义的库名称吗.. lilke implimentation...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多