标签: osmdroid

如何在Android中使用OSM数据为单个城市实施离线地理编码器?

我正在尝试开发一个使用特定缩放级别的OSM地图图块的离线android地图,为此我使用了一个开源库:Osmdroid

现在,我正在研究为可以与我的应用程序集成的单个城市创建离线地理编码/反向地理编码的可能性,

我可以为此目的使用Osm xml数据吗?如果是这样,那么任何人都可以建议/解释如何使用它来创建SQlite数据库..用于我的应用程序

我读到这里这里也约Spatialite
但不是很了解其工作和实施

谢谢

android geocoding openstreetmap reverse-geocoding osmdroid

18
推荐指数
1
解决办法
3042
查看次数

如何在Android应用程序中使用OSM映射.是否有任何教程可以学习如何在android中使用OSM.

嗨,大家过去一周我正在寻找教程/手册或步骤将开放街道地图包含到我的Android应用程序中.所有我发现的要么是一个功能更强大的大项目,否则很多问题都没有得到关于"如何"的正确结论......!

是否有适当的博客/网站或文件,可以更新鲜的参考.

android openstreetmap google-maps-api-3 osmdroid

15
推荐指数
2
解决办法
2万
查看次数

如何以编程方式缓存/下载google map v2 tile?

如何以编程方式缓存/下载google map v2 tile?有可能吗?

Bcos根据这个prntscr.com/3cyiqf它是不可能的,但是我已经看到这个链接 TileProvider使用本地 我认为如果Android提供TileProvider类来加载/使用资产中的磁贴比它应该是可用于缓存/下载的东西以编程方式/运行时

我的实际要求是:

如果用户当时与互联网连接,他可以下载/缓存特定区域的磁贴,或者他可以在电话屏幕中下载/缓存可见地图,并且当他下线时,下载的地图应该是可见的.

到目前为止我做了什么:

我见过OSMDROID lib它们提供了非常好的功能,但问题是我只想使用Google Map V2

我已经检查过静态地图API,我也创建了一个用于下载图块的演示,但是他们返回了一个具有指定缩放级别的图像,所以在这种情况下,如果我使用静态地图api,用户只能看到1级别的地图,他们就不能能够放大/缩小所以不好.

结论:

我想知道Google Map V2是否提供了以编程方式/运行时下载/缓存地图图块的任何工具?

编辑

我可以使用谷歌地图引擎吗?

android offline-caching google-maps-api-2 osmdroid google-maps-engine

13
推荐指数
1
解决办法
1万
查看次数

打开街道地图工作离线android

我是Open Street Map的新手.我做了一些研究,发现我们可以将地图下载并存储到一个文件夹中.但我没有找到任何提供离线Open Street Map的教程或示例.有人可以提供一步一步的教程,请执行离线开放街道地图的指南.我正在关注此示例http://android-coding.blogspot.com/2012/06/example-of-implementing-openstreetmap.html但现在我想在没有连接时使其可用.

android openstreetmap android-maps osmdroid android-maps-v2

12
推荐指数
1
解决办法
2万
查看次数

添加Overlay到OSMDROID

这段时间我一直在苦苦挣扎.我想在我的地图上添加叠加层.我正在使用开源OSMdroid.但我得到的例子是从一个角落到另一个角落的直线红线.我的目标是在我的geoPoint设置中添加一些图标.

这是我的代码:

 package osmdemo.demo;

import java.util.List;

import microsoft.mappoint.TileSystem;

import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapController;
import org.osmdroid.views.MapView;
import org.osmdroid.views.MapView.Projection;
import org.osmdroid.views.overlay.Overlay;
import org.osmdroid.views.overlay.ScaleBarOverlay;
import org.osmdroid.views.util.constants.MapViewConstants;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Paint.Style;
import android.graphics.Rect;
import android.location.LocationManager;
import android.os.Bundle;

public class map extends Activity implements MapViewConstants
{

    /** Called when the activity is first created. */

    protected static final String PROVIDER_NAME = LocationManager.GPS_PROVIDER;
    MapController mapController;
    MapView mapView;
    ScaleBarOverlay mScaleBarOverlay;
    private MapOverlay mmapOverlay = null;
    private LocationManager mLocMgr; …
Run Code Online (Sandbox Code Playgroud)

android openstreetmap android-maps osmdroid

11
推荐指数
1
解决办法
3万
查看次数

使用Osmdroid进行缩放

我写了一个映射应用程序,它有两个活动,一个活动显示一个谷歌地图视图,另一个显示使用osmdroid 3.0.5 jar的等效视图.

到目前为止,我一直只在模拟器上进行测试,其功能在显示的区域和覆盖数据方面完全相同.现在我在真正的姜饼设备上运行应用程序,我注意到谷歌地图活动似乎支持缩放,而Osmdroid不支持.

我没有写任何特定的代码来缩放谷歌方面或Osmdroid.这两个活动都实现了OnTouchListener.这两个活动只有OnTouch的存根,如:

@Override
public boolean onTouch(View v, MotionEvent e) {
    // chain it for now
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我在Osmdroid活动中的mapview是类:org.osmdroid.views.MapView

有没有人知道如何使用osmdroid进行缩放工作,或者知道使用osmdroid的示例应用程序,我可以研究并适应我的应用程序?

android osmdroid

11
推荐指数
2
解决办法
6398
查看次数

osmdroid 的用户代理

我试图把用户代理(参见https://github.com/osmdroid/osmdroid/wiki/Important-notes-on-using-osmdroid-in-your-app),但是当我把OpenStreetMapTileProviderConstants.setUserAgentValue(BuildConfig.APPLICATION_ID);Android studio 告诉我认为 setUserAgentValue 已折旧。

我能做些什么来解决这个问题?现在,当我运行应用程序时,我有一个没有地图的网格。

非常感谢您提前!

linux android openstreetmap osmdroid android-studio

11
推荐指数
1
解决办法
2519
查看次数

osmdroid - 更高的缩放级别?

我正在尝试使用osmdroid库实现MapView.

然而,目前我似乎能够放大的最远距离不足以达到我的目的.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Setup map view:
    mapView = new MapView(this, 256);
    setContentView(mapView);

    // Parse parameters
    Intent intent = getIntent();

    center      = intent.getDoubleArrayExtra(INITIAL_CENTER);
    multiTouch  = intent.getBooleanExtra(MULTI_TOUCH, DEFAULT_MULTI_TOUCH);
    zoomButtons = intent.getBooleanExtra(ZOOM_BUTTONS, DEFAULT_ZOOM_BUTTONS);
    zoomLevel   = intent.getIntExtra(ZOOM_LEVEL, DEFAULT_ZOOM_LEVEL);

    if (center == null)
        center  = DEFAULT_INITIAL_CENTER;

    // Applying parameters
    mapView.setClickable(true);
    mapView.setMultiTouchControls(multiTouch);
    mapView.setBuiltInZoomControls(zoomButtons);
    mapView.getController().setZoom(zoomLevel);
    mapView.getController().setCenter(new GeoPoint(center[0], center[1]));
    mapView.setTileSource(TileSourceFactory.MAPQUESTOSM);
    mapView.setMaxZoomLevel(18);

    // Show current location coordinates
    Toast.makeText(
            getApplicationContext(),
            "Latitude:\t\t" + center[0] + "\n" +
            "Longitude:\t" + center[1],
            Toast.LENGTH_LONG).show();

    // Offline maps: …
Run Code Online (Sandbox Code Playgroud)

java android openstreetmap osmdroid

10
推荐指数
2
解决办法
6087
查看次数

OSMDroid从资产文件夹加载自定义脱机磁贴

我想知道是否有可能做这样的事情.我知道有人需要修改一些现有的代码来解决这个问题,但我想知道是否有人有任何指示在哪里看以及如何做到这一点.

我在地图上的特定区域放置一些自定义图块作为OSM图块提供程序的替代,但需要将它们存储在/ assets /文件夹中.有任何想法吗?

android offline osmdroid

9
推荐指数
1
解决办法
6033
查看次数

在OSMDroid中下载特定的maptile到缓存

我目前正在研究一个学校项目,我正在尝试学习将OSM地图图块下载到手机的本地内存/缓存中的技术,以便用户能够在离线时查看地图.

这是通过给出特定位置来完成的,并且在距离该位置的特定半径/距离内的地图图块将被下载到手机存储器中(当存在在线连接时)以用于离线显示.

但是,我在理解OSMDroid的API方面遇到了一些麻烦.根据我的理解,所涉及的课程似乎是:

如果我弄错了,请纠正我.

另外,在MapTileBase(我认为是提供者)中,getMapTile返回android.graphics.drawable.Drawable.

这个Drawable类甚至与离线地图显示的概念有关吗?

希望有人可以告诉我在哪里准确地将地图下载到手机的内存中,以及我们如何编辑地图以显示路线,引脚等界面项目.

maps android offline-caching osmdroid

9
推荐指数
1
解决办法
2490
查看次数