标签: android-mapview

Android MapView设置自动缩放,直到所有ItemizedOverlay都可见

硬编码onCreate()中的setZoom()感觉非常陈旧,我想通过最初使MapView设置缩放直到所有GeoPoints/OverlayItems在地图上可见来增强用户体验.

怎么能自动神奇地完成?

gps android android-mapview

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

Android:如何将地图视图的缩放级别设置为当前位置周围1公里半径?

我想将地图视图缩放到1公里半径,但无法弄清楚如何?

该文档说缩放级别1将地球赤道映射到256像素.那么如何计算我需要设置的缩放级别,以便地图视图显示1KM半径的区域?

更新:
阅读几篇博文后,我写了以下代码:

private int calculateZoomLevel() {
    double equatorLength = 6378140; // in meters
    double widthInPixels = screenWidth;
    double metersPerPixel = equatorLength / 256;
    int zoomLevel = 1;
    while ((metersPerPixel * widthInPixels) > 2000) {
        metersPerPixel /= 2;
        ++zoomLevel;
    }
    Log.i("ADNAN", "zoom level = "+zoomLevel);
    return zoomLevel;
}
Run Code Online (Sandbox Code Playgroud)

我的想法是,首先我在缩放级别1中计算每像素的米数,根据谷歌显示使用256像素的地球赤道.现在,每个后续缩放级别放大2级,因此每个缩放级别的每个像素的一半.我这样做,直到我有一个缩放级别,每个像素的米乘以屏幕宽度给我小于2000,即2公里跨.

但我不认为我得到的缩放级别显示的是2Km半径的地图.有人可以告诉我这里我做错了什么吗?

android google-maps zoom android-mapview

51
推荐指数
7
解决办法
5万
查看次数

捕获GoogleMap Android API V2的屏幕截图

最后更新

功能请求已由Google完成.请在下面看到这个答案.

原始问题

使用旧版Google Maps Android API,我能够捕获谷歌地图的屏幕截图,通过社交媒体分享.我使用以下代码捕获屏幕截图并将图像保存到文件中并且效果很好:

public String captureScreen()
{
    String storageState = Environment.getExternalStorageState();
    Log.d("StorageState", "Storage state is: " + storageState);

    // image naming and path  to include sd card  appending name you choose for file
    String mPath = this.getFilesDir().getAbsolutePath();

    // create bitmap screen capture
    Bitmap bitmap;
    View v1 = this.mapView.getRootView();
    v1.setDrawingCacheEnabled(true);
    bitmap = Bitmap.createBitmap(v1.getDrawingCache());
    v1.setDrawingCacheEnabled(false);

    OutputStream fout = null;

    String filePath = System.currentTimeMillis() + ".jpeg";

    try 
    {
        fout = openFileOutput(filePath,
                MODE_WORLD_READABLE);

        // Write the string …
Run Code Online (Sandbox Code Playgroud)

android android-mapview google-maps-android-api-2

47
推荐指数
3
解决办法
4万
查看次数

android中缺少共享库.

02-18 00:02:08.432: ERROR/PackageManager(57): Package com.example.brown requires unavailable shared library com.google.android.maps; failing!

我在logcat中遇到了这个异常.

谁能指导我?

android android-mapview

45
推荐指数
4
解决办法
4万
查看次数

如何使用Google Maps for Android V2处理地图移动结束?

我想在地图中心更改后立即对地址进行地理编码.

如何使用适用于Android V2的新Google地图处理地图moveend?(我正在谈论案例,然后用户通过手指拖动地图)

android google-maps android-mapview google-maps-android-api-2

44
推荐指数
6
解决办法
6万
查看次数

我应该使用MapView还是MapFragment

我不确定我是应该使用MapView还是坚持使用MapFragment.我的应用程序是一个应用程序,可以找到离您最近的最近的一组位置.我希望能够在按下标记时添加位置,显示标记的详细信息,以及当用户沿着地图移动时我希望能够获取地图中心的坐标并显示定义中的最近位置半径.如果我继续使用,MapFragments或者MapView在我还有机会的时候切换到,我会处于不利地位吗?

android google-maps android-mapview mapfragment google-maps-android-api-2

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

Android,如何从Google Map V2中删除所有标记?

我的片段中有地图视图.我需要刷新地图并根据条件添加不同的标记.因此,我应该在添加新标记之前从地图中删除最后一个标记.

实际上,几周前应用程序工作正常,突然发生了.我的代码是这样的:

private void displayData(final List<Venue> venueList) {

        // Removes all markers, overlays, and polylines from the map.
        googleMap.clear();
.
.
.
}
Run Code Online (Sandbox Code Playgroud)

上次它工作正常(在2013年I/O中由Android团队宣布新的Google Map API之前).但是,之后我调整了我的代码以使用这个新的API.现在,我不知道为什么这种方法googleMap.clear();不起作用!

任何建议将不胜感激.谢谢

=======

更新

=======

完整代码:

private void displayData(final List<Venue> venueList) {

        // Removes all markers, overlays, and polylines from the map.
        googleMap.clear();

        // Zoom in, animating the camera.
        googleMap.animateCamera(CameraUpdateFactory.zoomTo(ZOOM_LEVEL), 2000, null);

        // Add marker of user's position
        MarkerOptions userIndicator = new MarkerOptions()
                .position(new LatLng(lat, lng))
                .title("You are here")
                .snippet("lat:" + lat + …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-markers android-mapview

42
推荐指数
3
解决办法
6万
查看次数

Android:自动选择调试/发布Maps api密钥?

OBSOLETED:这个旧问题是指过时的Google Maps v1 API.使用v2 API时,您可以在一个Google API控制台条目中使用多个证书指纹.API密钥不再存储在Manifest或代码中.


是否可以自动检测哪个证书用于签名APK?我想在应用程序中同时调试和发布Maps证书,并将有效的证书传递给MapView构造函数.

通过这样的设置,我在发布应用程序时不会出错 - 我在模拟器和我的设备上使用调试证书,然后在将应用程序发送到Market之前使用第一版进行签名.

我正在考虑检测我的特定设备或调试器是否已连接,但它并不完美.也许某些文件标记需要调试证书?有没有更好的方法?

debugging android google-maps key android-mapview

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

在Android中获取经度和纬度的海拔高度

有没有一种快速有效的方法来获得Android平台上经度和纬度的高度(海拔)?

gis android geolocation android-mapview

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

Android Maps Point Clustering

android中有Point Clustering的代码吗?如何在没有性能问题的情况下加载千针?

maps android markerclusterer android-mapview

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