标签: android-maps-v2

如何在地图 v2 for android 中将版权移至顶部?

根据谷歌地图的归属指南,我必须在我的 android 应用程序中显示地图时显示谷歌和地图提供商的版权。版权通常显示在地图视图的底部。
问题在于我的应用程序底部有一个圆形小部件,它隐藏了一些版权声明。
这就是为什么我想使用

GoogleMap.setPadding(0, 0, 0, mapViewHeight - copyRightFontHeight )

setPadding 带来的变化是:

  • 通过 API 调用或按钮按下(例如,指南针、我的位置、缩放按钮)的相机移动将相对于填充区域。
  • getCameraPosition() 将返回填充区域的中心。
  • Projection.getVisibleRegion() 将返回填充区域。
  • UI 控件将从容器边缘偏移指定的像素数。

但我想要所有这些函数的标准行为(那些没有填充的函数)!

所以要么:我怎样才能只移动版权,而不改变上述功能的行为?
或者:如何让这些函数正常工作,超出padding的边界?

android google-maps copyright-display android-maps-v2

5
推荐指数
1
解决办法
1274
查看次数

如何在单次触摸后启用拖动标记(Android Map Api v2)?

我有一张带有一些标记的地图。我设置了拖动侦听器:

map.setOnMarkerDragListener(this);
Run Code Online (Sandbox Code Playgroud)

但是只有在用户长按标记后才能启用拖动。我想立即启用拖动。有没有办法用 Android Maps (v2) 做到这一点?

android google-maps android-event android-maps-v2

5
推荐指数
1
解决办法
809
查看次数

如何检测用户是否在设置中关闭了位置信息?

我想检测用户是否在运行时关闭了该位置。我可以检查他是否打开了它,或者在应用程序启动之前用户是否关闭了位置,但我无法检查他是否在之后关闭了它。

代码示例: MapEntity扩展LocationListener

class MapViewer(a: MainActivity, parentView: ViewGroup) : MapEntity(a, parentView) {

    override fun onProviderEnabled(provider: String?) {
        activity.hideGpsSnackbar()
    }

    override fun onProviderDisabled(provider: String?) {
        activity.showGpsSnackbar()
    }

}
Run Code Online (Sandbox Code Playgroud)

对于实时 GPS 位置检查,我正在使用 GnssStatus.Callback()

更新:

我已经BroadcastReceiver根据下面的答案创建了。

abstract class GPSReceiver : BroadcastReceiver() {

    override fun onReceive(context: Context, intent: Intent) {
        try {
           val locationManager = context.getSystemService(LOCATION_SERVICE) as LocationManager

             if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                    onGpsChanged(true)
                } else {
                    onGpsChanged(false)
                }
            } catch (ex: Exception) {
                App.log("IsGPSEnabled: $ex")
            }

        }

        abstract fun onGpsChanged(isEnabled: Boolean)
    } …
Run Code Online (Sandbox Code Playgroud)

android android-location kotlin android-maps-v2 android-gps

5
推荐指数
1
解决办法
1882
查看次数

如何在android中动态提供地图api密钥

我的 Android 应用程序中有一个用例,我的应用程序的用户必须提供 API 密钥,以便他们可以使用地图。

但我发现我必须在清单文件中提供 API 密钥。我无法在运行时编辑它。

有没有其他方法可以动态地将地图 API 密钥提供给谷歌地图(我正在使用 MapView)或动态更改元数据值的任何方法

android google-maps android-mapview android-maps-v2

5
推荐指数
1
解决办法
2876
查看次数

选项卡中的Android Google地图v2重叠问题,标签中的多个地图

我是android新手,现在正在使用Google maps v2,我使用tabhost来显示Google map v2,在这个tabhost中我需要在不同的标签上显示两个Google maps v2.当我切换标签b/w两个包含地图的标签时,它会重叠.我不知道要克服这个问题.

//代码在这里用于两个选项卡

    mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
            .getMap();
    mMap.setMyLocationEnabled(true);

    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    //locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, MIN_TIME, MIN_DISTANCE, this);
    Log.e("locamanager",""+locationManager);
    Criteria criteria=new Criteria(); // object to retrieve provider
    String provider = locationManager.getBestProvider(criteria, true);
    Location location=locationManager.getLastKnownLocation(provider);
    if(location!=null){
        onLocationChanged(location);
    }
    locationManager.requestLocationUpdates(provider, 400, 1000, this);


 }


@Override
public void onLocationChanged(Location location) {

    latLng = new LatLng(location.getLatitude(), location.getLongitude());
    Log.e("latlng",""+latLng);
    cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 15);
    mMap.animateCamera(cameraUpdate);
    locationManager.removeUpdates(this);

    new ReverseGeocodingTask(getBaseContext()).execute(latLng);

}
Run Code Online (Sandbox Code Playgroud)

有人有解决方案请帮帮我

感谢Advance

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

4
推荐指数
1
解决办法
3425
查看次数

自定义彩色可绘制为Google Maps API v2中的地图标记 - Android

是否可以在Google Maps API v2中设置自定义彩色标记?我有一个白色的可绘制资源,我想对它应用彩色滤镜.我试过这个:

String color = db.getCategoryColor(e.getCategoryId());
Drawable mDrawable = this.getResources().getDrawable(R.drawable.event_location); 
mDrawable.setColorFilter(Color.parseColor(Model.parseColor(color)),Mode.SRC_ATOP);
map.addMarker(new MarkerOptions().position(eventLocation)
    .title(e.getName()).snippet(e.getLocation())
    .icon(BitmapDescriptorFactory.fromBitmap(((BitmapDrawable) mDrawable).getBitmap())));
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它仅显示没有自定义颜色的白色标记.我传递给setColorFilter()的"颜色"字符串的值是"#RRGGBB"的形式.

android google-maps google-maps-markers android-drawable android-maps-v2

4
推荐指数
1
解决办法
3783
查看次数

如何在谷歌地图v2标记android中添加值?

我在谷歌搜索但我无法得到它.我需要这种类型,其中值在标记中

在此输入图像描述

我无法理解如何像上面显示的那样做.

GoogleMap gm;

    gm = ((SupportMapFragment) (getSupportFragmentManager()
                .findFragmentById(R.id.map))).getMap();

    gm.setOnInfoWindowClickListener(this);
    gm.addMarker(new MarkerOptions()
                            .title(jsonObj.getString("project_name"));

   @Override
   public void onInfoWindowClick(final Marker marker) {

   String name = marker.getTitle(); // this displays when marker window gets tap

}
Run Code Online (Sandbox Code Playgroud)

但是当我点击标记窗口时,上面的代码就会显示出来.我只想显示上面的iamge链接.怎么做.请帮忙解决问题.

提前致谢.

android google-maps google-maps-markers google-maps-android-api-2 android-maps-v2

4
推荐指数
1
解决办法
9195
查看次数

使用Google Map API密钥授权失败

我正在为Android 4.3构建一个项目并构建到一个实际的设备,但我的谷歌地图总是显示为空,我得到授权失败..但一切都检查出来..

我有网络连接..

LOG ERROR 在此输入图像描述

GOOGLE API CONSOLE 在此输入图像描述

控制台服务 在此输入图像描述

我的清单

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

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="18" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <permission
        android:name="com.sapientnitro.inhouse.drop.activities.permission.MAPS_RECEIVE"
        android:protectionLevel="signature" />

    <uses-permission
        android:name="com.sapientnitro.inhouse.drop.activities.permission.MAPS_RECEIVE"
        android:required="false" />

    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
         <uses-library android:name="com.google.android.maps"/>


        <activity
            android:name=".activities.DRPSplashActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".activities.DRPMapViewActivity"
            android:launchMode="standard" …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-api android-maps-v2

4
推荐指数
1
解决办法
9723
查看次数

谷歌地图错误 - Android应用程序|| v2

我正在尝试在Android应用程序上添加地图到我的布局,但我得到以下代码:

06-16 20:51:06.142  17581-17581/wk.gon250.dublinbike E/AndroidRuntime? FATAL EXCEPTION: main
    java.lang.RuntimeException: Unable to start activity ComponentInfo{wk.gon250.dublinbike/wk.gon250.dublinbike.StationDetailsActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class fragment
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2266)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)
            at android.app.ActivityThread.access$600(ActivityThread.java:150)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:213)
            at android.app.ActivityThread.main(ActivityThread.java:5225)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class fragment
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
            at android.support.v7.app.ActionBarActivityDelegateBase.setContentView(ActionBarActivityDelegateBase.java:228)
            at android.support.v7.app.ActionBarActivity.setContentView(ActionBarActivity.java:102)
            at wk.gon250.dublinbike.StationDetailsActivity.onCreate(StationDetailsActivity.java:38) …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-maps-v2

4
推荐指数
1
解决办法
7553
查看次数

mMap.setOnMapClickListener中的空对象错误(this);

package com.example.mukesh.airpollution;




import android.graphics.Color;
import android.os.Bundle;
 import android.support.v4.app.FragmentActivity;

import com.google.android.gms.maps.CameraUpdateFactory;
  import com.google.android.gms.maps.GoogleMap;
  import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
 import com.google.android.gms.maps.MapFragment;
 import com.google.android.gms.maps.OnMapReadyCallback;
 import com.google.android.gms.maps.model.CameraPosition;
 import com.google.android.gms.maps.model.LatLng;
 import com.google.android.gms.maps.model.LatLngBounds;
 import com.google.android.gms.maps.model.Polygon;
 import com.google.android.gms.maps.model.PolygonOptions;
 import com.google.maps.android.PolyUtil;
 import java.util.List;

 import java.util.ArrayList;

 public class MapsActivity extends FragmentActivity
    implements OnMapClickListener, OnMapReadyCallback {

//final int RQS_GooglePlayServices = 1;
private GoogleMap mMap;
//private GoogleMap googleMap;



boolean markerClicked;
PolygonOptions polygonOptions;
Polygon polygon;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    // Obtain the SupportMapFragment and get notified when the map is      ready …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-maps android-maps-v2

4
推荐指数
1
解决办法
2679
查看次数