标签: android-maps-v2

Google Maps Android API v2:我的位置标记总是超过其他标记?

目前正在使用Google地图将Android应用迁移到Google Maps Android v2; 我希望地图显示内置位置标记以及自定义标记.使用以前的库,我习惯在"自定义标记"下方绘制位置标记

mapView.setReticleDrawMode(ReticleDrawMode.DRAW_RETICLE_UNDER);
Run Code Online (Sandbox Code Playgroud)

我在新API中找不到类似的选项.我错过了什么?

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

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

如何用Android上的谷歌地图v2上的我的图标替换蓝点?

我想在Google maps v2上用我自己的图标替换蓝点(在地图上显示当前位置).我在下面试过,没有用过.

应该是这样的 这个

下面没用

Bitmap b = BitmapFactory.decodeResource(getResources(),
        R.drawable.location_arrow1);
googleMap.addMarker(new MarkerOptions().position(myPosition)
        .title(getIntent().getStringExtra("first_name"))
        .icon(BitmapDescriptorFactory.fromBitmap(b)));
Run Code Online (Sandbox Code Playgroud)

android android-maps-v2

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

Mapview显示空白但片段没问题

我正在尝试使用Google Map V2.当我使用地图片段..一切正常.但是,如果我使用mapview,则会显示空白活动.

可能有什么不对?XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapParent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
     <com.google.android.gms.maps.MapView 
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"/>

     </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

主要活动:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
Run Code Online (Sandbox Code Playgroud)

android android-maps-v2

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

如何暂时禁用地图标记聚类?

我正在使用Google Maps V2 for Android和maps utils扩展库进行标记聚类.应用程序的某些部分不需要获取聚集标记.

有没有办法禁止clusterManager集群标记,并在某些条件后让它再次集群项目?

android android-maps-v2 android-maps-utils

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

生成随机LatLng给定设备位置和半径

我试图在给定位置附近的地图上生成随机点.我有一个circle半径为100的用户位置周围的形状,我想在这个圆圈区域内生成随机的LatLng坐标.到目前为止,我已经提出了以下功能,但点标记仍然出现在圆圈范围之外.

    double lat = location.getLatitude();
    double lon = location.getLongitude();

    for (int i = 0; i < markers.size(); i++) {
        Marker mrk = markers.get(i);

            Random random = new Random();


            double radiusInDegrees =mCircle.getRadius();

            double u = random.nextDouble();
            double v = random.nextDouble();
            double w = radiusInDegrees * Math.sqrt(u);
            double t = 2 * Math.PI * v;
            double x = w * Math.cos(t);
            double y = w * Math.sin(t);

            // Adjust the x-coordinate for the shrinking of the east-west distances
            double new_x …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-maps-v2

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

必需的com.google.android.gms.GoogleMap发现无效

我已经在网上寻找解决方案,因为getMap()方法已经过时,因此,我想用getMapAsync();替换它.我搜索了谷歌以及机器人官方文件,我仍然卡住请帮忙.

我现在收到一条错误消息,指出不兼容的类型要求com.google.android.gms.GoogleMap发现无效.

public class Maps extends AppCompatActivity implements OnMapReadyCallback {
    private GoogleMap googleMap;

    @Override protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.Maps);

        googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
                R.id.mapFragment)).getMapAsync(this);


        LatLng latlong = new LatLng(lat, lon);
        googleMap.addMarker(new MarkerOptions().position(latlong).title(name));
        googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latlong, 15));
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {

    }
}
Run Code Online (Sandbox Code Playgroud)

下面的方法给出了错误,它表示不兼容的类型必须com.google.android.gms.GoogleMap发现无效.

googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
                R.id.mapFragment)).getMapAsync(this);
Run Code Online (Sandbox Code Playgroud)

android android-mapview android-maps-v2

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

在android中将谷歌地图缩放到以英里为单位的特定半径

我想zoomGoogle map在英里的半径特定比如说10英里/ 20英里/ 30英里等按我的条件在android系统。

我需要的是从当前经纬度点绘制一个特定半径(10/20/30.. 英里)的圆,并将地图缩放到我已经绘制了带有半径的圆的特定英里。

我能够指出我当前的位置,绘制圆圈。但是我无法将地图缩放到所需的半径英里(圆圈应该以我当前的位置为中心以指定的英里为中心聚焦在屏幕上)。

目前我正在使用以下代码进行缩放:

gooMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(selectedLat, selectedLong), 15));
                    gooMap.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
                    Log.e("Circle Lat Long:", selectedLat + ", " + selectedLong);
                    circle.remove();
                    circle = gooMap.addCircle(new CircleOptions()
                            .center(new LatLng(selectedLat, selectedLong))
                            .radius(iMiles * 1609.34) // Converting Miles into Meters...
                            .strokeColor(Color.RED)
                            .strokeWidth(5));
                    circle.isVisible();
Run Code Online (Sandbox Code Playgroud)

我知道将缩放级别设置为 15 不会将地图缩放到所需的英里数。但我需要缩放地图以达到英里半径。我怎样才能实现它。任何人都可以帮助我。 编辑:-添加的图像详细解释了我需要的内容。Image_1:- 当我将半径设置为 10 英里时,地图应如图所示缩放。Image_2 当我将半径设置为 50 英里时,地图应如图所示缩放。请查看地图位置的差异以分析我需要的缩放级别。 图片_1 图片_2 提前致谢。

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

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

将Google Maps添加到RecyclerView

我已经RecyclerView在其他类型的列表项旁边添加了地图视图,但是现在...如何以及在何处初始化地图,在哪里监听onMapReady,以便以后可以放置标记,以及如何处理回收该项目?

有什么想法在这种情况下最好的做法是什么?

android android-mapview android-maps-v2

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

对于MapFragment类型,未定义getSupportFragmentManager()方法

我正在尝试实施Google地图显示,下面是我的代码:

package com.fragments;

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;

public class MapFragment extends SherlockMapFragment {

    private GoogleMap mMap;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View root = super.onCreateView(inflater, container, savedInstanceState);
        SupportMapFragment mapFrag= (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.fragment_map);
        mMap = mapFrag.getMap();
        return root;
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,getSupportFragmentManager()未定义类型MapFragment.但是我有点困惑,因为我导入了com.google.android.gms.maps.SupportMapFragment.那个方法不应该来自那里吗?我错过了让这种方法起作用的一些步骤吗?

android supportmapfragment android-maps-v2

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

Android Maps API v2:放大当前位置和标记

我有一个包含在应用程序中的地图.我需要地图放大标记和用户位置,但保持标记居中.放大效果很好,但当然不会将标记置于地图上.

@Override
public void onLocationChanged(Location location) {
    if (mListener != null) {
        mListener.onLocationChanged(location);

        LatLngBounds bounds = new LatLngBounds.Builder()
        .include(new LatLng(location.getLatitude(),location.getLongitude()))
        .include((new LatLng(52.3563, 4.8790)))
        .build();

        mMap.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 35));


    }
}
Run Code Online (Sandbox Code Playgroud)

将两者保持在界限内但保持标记居中的最佳方法是什么?我似乎无法在官方文档中找到解决方案.

android android-maps-v2

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