【问题标题】:How to set user agent in osmdroid code?如何在 osmdroid 代码中设置用户代理?
【发布时间】:2018-02-16 20:30:45
【问题描述】:

我将使用 osmdroid 开始使用 Open Street Maps。在他们的github wiki 上找到的初学者教程说您必须设置用户代理以防止被 osm 服务器禁止。该评论并未超出有关如何执行此操作的提示。因此,运行代码的结果是我在生成的地图中什么也看不到。只有地图画布和缩放控件,但没有地理点之类的东西。
我的活动代码如下(使用5.6.5版本的osmdroid库):

public class MapActivity extends AppCompatActivity {
    MapView map = null;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map);
        Context ctx = getApplicationContext();
        //important! set your user agent to prevent getting banned from the osm servers

        Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx));

        map = (MapView) findViewById(R.id.map);
        map.setTileSource(TileSourceFactory.MAPNIK);

        map.setBuiltInZoomControls(true);
        map.setMultiTouchControls(true);

        IMapController mapController = map.getController();
        mapController.setZoom(9);
        GeoPoint startPoint = new GeoPoint(48.8583, 2.2944);
        mapController.setCenter(startPoint);


    }

    public void onResume() {
        super.onResume();
        Configuration.getInstance().load(this, PreferenceManager.getDefaultSharedPreferences(this));
//        map.onResume(); //needed for compass, my location overlays, v6.0.0 and up
    }

    public void onPause(){
        super.onPause();
//        map.onPause();  //needed for compass, my location overlays, v6.0.0 and up
    }

【问题讨论】:

    标签: android dictionary osmdroid


    【解决方案1】:

    Configuration.getInstance().load 实际上会为您设置它。您可以通过Configuration.getInstance().setUserAgent覆盖它并将其设置为您想要的任何内容

    我会更新 wiki 以反映

    设置这个的显式来源在这里 https://github.com/osmdroid/osmdroid/blob/ae026862fe4666ab6c8d037b9e2f8805233c8ebf/osmdroid-android/src/main/java/org/osmdroid/config/DefaultConfigurationProvider.java#L306

    基本上,它从清单中获取 apk 的包名并使用它(默认情况下)

    【讨论】:

      猜你喜欢
      • 2017-08-26
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 2020-08-28
      • 1970-01-01
      相关资源
      最近更新 更多