标签: google-maps-android-api-2

如何使用linux中的控制台使用java keytool创建发布证书?

我有一个Android应用程序,我正在使用谷歌地图.我使用调试密钥开发了这个,现在我需要使用发布证书,但我不知道怎么做,请帮忙.谢谢

java android google-maps keytool google-maps-android-api-2

0
推荐指数
1
解决办法
3289
查看次数

Android谷歌地图:地图视图初始化

我正在尝试使用MapView该类在我的Android应用程序中显示一个简单的地图.我onCreate在我的活动中使用以下方法:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    try {
        MapsInitializer.initialize(this);
    } catch (GooglePlayServicesNotAvailableException e) {
        Log.e("Address Map", "Could not initialize google play", e);
    }

    MapView mapView = new MapView(this);
    CameraUpdate camPos = CameraUpdateFactory.newLatLng(new LatLng(11.562276,104.920292));
    mapView.getMap().moveCamera(camPos);
    setContentView(mapView);
}
Run Code Online (Sandbox Code Playgroud)

我有一个NullPointerException,因为该方法mapView.getMap()返回null.不明白为什么,谷歌播放服务显然存在并初始化.

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

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

无法加载Android谷歌地图V2

我已经在我的应用程序中实现了android谷歌地图V2,它在我测试的大多数设备(Galaxy Ace Plus,Galaxy 7inch Tab,Sony Xperia Z)上运行良好.但它不适用于HTC Desire.我已经交叉验证了该设备中安装的Google Play服务.我很乐意找到解决方案.以下是我的实施.

public class MainActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        SupportMapFragment fragment = new SupportMapFragment();
        getSupportFragmentManager().beginTransaction()
                .add(android.R.id.content, fragment).commit();        
}
}
Run Code Online (Sandbox Code Playgroud)

下面是activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/the_map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraTilt="45"
map:cameraZoom="2" />
Run Code Online (Sandbox Code Playgroud)

这是清单文件.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.raj.googlemapsv2test"
android:versionCode="1"
android:versionName="1.0" >

<permission
    android:name="com.raj.googlemapsv2test.permission.MAPS_RECEIVE"
    android:protectionLevel="signature" />

<uses-permission android:name="com.raj.googlemapsv2test.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-play-services google-maps-android-api-2

0
推荐指数
1
解决办法
1288
查看次数

将用户限制为地图上的一个标记

我在Android应用中使用Google Maps V2 API.我添加了一个方法,允许用户使用onMapLongClick放置一个可拖动的标记.我还计划将功能与SearchView小部件和Google Places结合使用.在这方面,我想限制用户能够在地图上只放置一个标记.如果他们调用任何一种方法再次放置标记,我希望现有标记将其位置更新为新输入.我已经研究了几天了,并且无法限制用户可以放置的标记数量1.关于如何实现这一点的任何想法?这是我现在使用的方法......

//onMapLongClick, create marker
@Override    
public void onMapLongClick(LatLng point) {
    map.addMarker(new MarkerOptions()
    .position(point)
    .title("Your Destination")           
    .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher))
    .draggable(true));
}
Run Code Online (Sandbox Code Playgroud)

android google-maps-android-api-2

0
推荐指数
1
解决办法
1125
查看次数

如何通过 Android id 获取 Android 设备的位置

我是 android 新手,最近开始学习 Android,我试图通过其唯一的 android id 获取任何 android 设备的位置。这样我就可以通过 GPS 或网络提供商跟踪大约或确切的位置。具体来说,我的意思是,每当我在应用程序中输入任何 Android ID 时,我都可以在应用程序中获取设备位置。感谢您的热心帮助。

gps android geolocation gprs google-maps-android-api-2

0
推荐指数
1
解决办法
8487
查看次数

来自网址的Android Google地图覆盖图片

最近我尝试在Google Maps v2 for Android中使用Overlay,我们知道的一些教程

BitmapDescriptor image = BitmapDescriptorFactory.fromResource(R.drawable.android);
GroundOverlayOptions groundOverlay = new GroundOverlayOptions()
                .image(image)
                .position(point1, 500f)
                .transparency(0.5f);
googleMap.addGroundOverlay(groundOverlay);
Run Code Online (Sandbox Code Playgroud)

我面临的问题是:我可以覆盖URL中的图像吗?喜欢:

BitmapDescriptor image = BitmapDescriptorFactory.fromResource(R.drawable.android);
            GroundOverlayOptions groundOverlay = new GroundOverlayOptions()
            .image(***"http://image path...."***)
            .position(point1, 500f)
            .transparency(0.5f);
            googleMap.addGroundOverlay(groundOverlay);
Run Code Online (Sandbox Code Playgroud)

google-maps google-maps-api-3 google-maps-api-2 google-maps-android-api-2

0
推荐指数
1
解决办法
1707
查看次数

如何立即启动给定地址的Google Maps Navigation?

我对创建一个按钮感兴趣,该按钮将立即启动Google Maps应用并开始将导航驱动到特定地址。这可能吗?如果是这样,API是什么?

我希望它立即开始导航,而不会强迫用户在不同的路线选项之间进行选择。

android google-maps google-maps-api-3 google-maps-android-api-2 android-maps-v2

0
推荐指数
1
解决办法
869
查看次数

onMapReady 并不总是被调用

我有三项活动:

主要活动:

public void start_main_map(View view) {
        Intent intent = new Intent(this, com.example.MainMap.class);
        startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

主地图:

protected GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
    Log.i(TAG, "onCreate");
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
     mapFragment.getMapAsync(this);
}

@Override
protected void onStart() {
    Log.i(TAG, "onStart");
    mGoogleApiClient.connect();
    super.onStart();
}

@Override
protected void onStop() {
    Log.i(TAG, "onStop");
    mGoogleApiClient.disconnect();
    super.onStop();
}

@Override
protected void onPause() {
    Log.i(TAG, "onPause");
    super.onPause();
}

@Override
public void onResume() {
    Log.i(TAG, "onResume");
    super.onResume();
}

@Override
public void onMapReady(GoogleMap googleMap) {
    Log.i(TAG, "onMapReady"); …
Run Code Online (Sandbox Code Playgroud)

java android google-maps-android-api-2

0
推荐指数
1
解决办法
2456
查看次数

在Google地图片段中重新定位MyLocation按钮

在Google Maps API for Android中,右上角有一个按钮,用于在地图中找到您.

我想知道是否有可能在Google Maps for Android的API中重新定位此默认图标,因为在顶部我计划添加一个EditText,就好像它是浮动的一样.

在此输入图像描述

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

0
推荐指数
1
解决办法
3503
查看次数

GoogleMap moveCamera/animateCamera 不工作

我在片段中有一张地图。我正在尝试将相机移动到特定位置(在全局布局上):

@Override
public void onGlobalLayout() {
    getMapView().getMapAsync(new OnMapReadyCallback() {
        @Override
        public void onMapReady(final GoogleMap googleMap) {
            LocationManager.onLocation(new CoordinatesCallback() {
                @Override
                public void onCoordinates(double latitude, double longitude) {
                    LatLng target = new LatLng(latitude, longitude);
                    CameraPosition position = CameraPosition
                            .builder()
                            .target(target)
                            .zoom(10)
                            .build();
                    CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(position);
                    googleMap.moveCamera(cameraUpdate);
                }
            });
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

getMapView()返回我的地图视图,纬度/经度完全有效(将它们输入地图,这是我的家),尝试了moveCameraanimateCamera,也尝试了newLatLngZoom方法,但无济于事。我得到的只是一个空的地图视图:

在此处输入图片说明

我究竟做错了什么?

更新:我的应用程序的各个部分都有其他地图,它们工作得很好。

android google-maps-android-api-2 android-5.0-lollipop

0
推荐指数
1
解决办法
2154
查看次数

MapView内部自定义RecyclerViewAdapter

我正在尝试使用每个MapView内部实现包含CardViews的RecyclerView.问题是,在自定义适配器中初始化的MapView不会加载,除非您单击它.正如这里已经提到的:Android MapView不会加载,除非您触摸mapview, 您可以通过覆盖onResume()来解决问题.我试过以下方式:

@Override
    public void onResume() {
        if(LocationsAdapter.ViewHolder.mapView != null) {
            LocationsAdapter.ViewHolder.mapView.onResume();
        }

        super.onResume();
    }
Run Code Online (Sandbox Code Playgroud)

老实说,我根本不知道如何以任何其他方式覆盖onResume,如果我在这里打破了某些编程规则,请原谅我.我将mapView作为在LocationsAdapter中创建的ViewHolder中的公共静态.这似乎不起作用,地图仍然是空白.

Adapter内的ViewHolder实现了OnMapReadyCallback.

public static class ViewHolder extends RecyclerView.ViewHolder implements OnMapReadyCallback

...

 @Override
            public void onMapReady(GoogleMap googleMap) {
                this.googleMap = googleMap;
                Location location = locations.get(getAdapterPosition());
                this.googleMap.addMarker(new MarkerOptions().position(location.getLatlng()).title(location.getName()));
                this.googleMap.moveCamera(CameraUpdateFactory.newLatLng(location.getLatlng()));
                this.googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(location.getLatlng(), 7.0f));
            }
Run Code Online (Sandbox Code Playgroud)

调用ViewHolder时会调用这两个方法.

mapView.onCreate(null);
mapView.getMapAsync(this);
Run Code Online (Sandbox Code Playgroud)

另一篇提到这个问题的文章还没有答案:cardview里面的mapView没有加载地图.

我的目标是,无论片段当前处于什么生命周期,都要加载映射.我假设您不需要适配器,片段和XML来解决此问题.如果你这样做,请告诉我.

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

-1
推荐指数
2
解决办法
2233
查看次数