标签: android-maps-v2

片段布局中的MapView(android maps api v2)没有显示

我正在使用viewpager在两个操作栏选项卡之间滑动(使用eclipse向导进行此类导航).我正在使用android maps v2 api.

我想在我的一个标签里面有mapview,button和textview(我猜想有mapfragment是不可能的).

我从xml为我的片段扩充布局,如下所示:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.first_tab_fragment, container, false);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的first_tab_fragment.xml:

<?xml version="1.0" encoding="utf-8"?>

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
   android:layout_height="match_parent" >


<com.google.android.gms.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="100dip"
    android:layout_height="100dip"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/textView1"
    android:layout_marginRight="15dp" >
</com.google.android.gms.maps.MapView>

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:text="Button" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/button1"
    android:layout_marginBottom="133dp"
    android:text="TextView" />
Run Code Online (Sandbox Code Playgroud)

不显示MapView,只显示textview和按钮.我也没有错.我是否必须编写一些代码来初始化mapview?

java android android-fragments android-viewpager android-maps-v2

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

谷歌地图v2从堆栈弹出片段后滞后

我有一个ActivityMapFragment我添加到Activity编程使用FragmentTransaction:

private static final String MAP_FRAGMENT_TAG = "map";
private MapFragment mapFragment = null;

...

protected void onCreate(Bundle savedInstanceState) {

    ...

    mapFragment = (MapFragment) getFragmentManager().findFragmentByTag(MAP_FRAGMENT_TAG);
    if (mapFragment == null) {
        mapFragment = MapFragment.newInstance();
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
        fragmentTransaction.add(R.id.fragment_wrapper, mapFragment, MAP_FRAGMENT_TAG);
        fragmentTransaction.commit();
    }

    ...

}
Run Code Online (Sandbox Code Playgroud)

标准方式.然后我从中获取GoogleMap实例mapFragment并设置其设置,设置监听器,用它做事.一切正常.

然后当用户完成地图时,AsyncTask触发显示a ProgressDialog,执行一些操作,将不同的片段放入fragment_wrapperProgressDialog再次关闭:

private class GetFlightsTask extends AsyncTask<Double, Void, String> {

@Override
protected void onPreExecute() {
    super.onPreExecute();
    // …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-maps-v2

8
推荐指数
1
解决办法
3767
查看次数

Android Maps - animateCamera()方法无法正常工作

问题:

1)地图获取动画到达所需位置(代码中的第4行)但它已缩放到默认位置(代码中的第5行)

[将地图保留在指定缩放级别的默认位置]

2)我理解为什么问题发生但我不知道如何解决它.

3)如果我将第4行更改为moveCamera而不是将起作用的animateCamera,但我确实需要animateCamera()方法.

这是代码:

map=((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
MarkerOptions options=new MarkerOptions().position(new LatLng(13.0810,80.2740));
map.addMarker(options);
map.animateCamera(CameraUpdateFactory.newLatLng(new LatLng(13.0810,80.2740)),4000,null);
map.animateCamera(CameraUpdateFactory.zoomTo(15.5f),2000,null);
Run Code Online (Sandbox Code Playgroud)

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

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

根据移动android googleMaps v2的用户更新折线

我的googleMap(v2)带有折线,用于显示用户当前位置和目标点之间的路线.
现在,我想根据用户移动更新折线.

当位置发生变化但折线闪烁时,我尝试重绘整条折线.

我没有找到在的PolylineOptions类的任何适当的功能
(功能的add()仅仅是增加一个顶点,但不更新或删除),

你有什么想法如何更新折线???
谢谢你给我的时间.

android google-maps android-maps-v2

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

Android Google地图v2,MAP_TYPE_NONE和黑色方块

我一直在使用Google Maps v2和自定义磁贴.它工作正常,但我们经常在谷歌地图中获得黑色方块,而且它们非常具有破坏性.

我可以通过这样做非常简单地重现问题:

mapFragment = new MapFragment() {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
        mapFragment.getMap().setMapType(GoogleMap.MAP_TYPE_NONE);
    }
};

FragmentTransaction trans = getFragmentManager().beginTransaction();
trans.replace(R.id.map, mapFragment);
trans.commit();
Run Code Online (Sandbox Code Playgroud)

我使用此代码和带有framelayout的标准活动.如果我在Nexus4的背景中放大得足够远,它会变黑.如果我把瓷砖放在上面,我会在放大时看到黑色闪光.

我已经看到了很多关于如何解决这个问题的解决方法,而且它们似乎根本没有用.它似乎只发生在某些缩放级别上,但我(A)需要那些缩放级别,而(B)似乎无法限制缩放(无需构建自定义缩放以进行缩放实现).

我已经使用自定义磁贴提供程序进行了一些测试.有了MAP_TYPE_NONE,一个简单地返回1个蓝色像素的瓷砖提供商和我的普通地图瓷砖提供商,我可以直观地看到地图从黑色 - >蓝色 - >我的地图变化.即使我的自定义蓝色瓷砖提供商立即返回1px蓝色瓷砖.

java android google-maps android-maps-v2

8
推荐指数
1
解决办法
1666
查看次数

使用Picasso从URL添加标记

我正在使用Picasso库从网址添加标记到我的地图

由于标记不是ImageView,我试图使用Target

for(int x =0; x < mapIcon_url.length; x++){

    Picasso.with(getActivity()).load(mapIcon_url[x]).resize(marker_size, marker_size+15).into(new Target() {

        @Override
        public void onSuccess(Bitmap b) {
            bitmapMarker = BitmapDescriptorFactory.fromBitmap(b);


            //create marker option
            if(b != null)
                markerOptions = new MarkerOptions().position(marker_position).icon(bitmapMarker));
            else
                markerOptions = new MarkerOptions().position(marker_position).icon(BitmapDescriptorFactory.fromResource(R.drawable.placeholder_pin)).snippet(String.valueOf(x));

            marker = map.addMarker(markerOptions);                              
        }

        @Override
        public void onError() {

            //create marker option                                  
            markerOptions = new MarkerOptions().position(marker_position).icon(BitmapDescriptorFactory.fromResource(R.drawable.placeholder_pin)).snippet(String.valueOf(x));
            marker = map.addMarker(markerOptions);

        }
    }); 
}   
Run Code Online (Sandbox Code Playgroud)

我在循环中执行此操作以添加大约20个标记但我发现在第一次运行代码时只添加了5或7个标记,所以我已经切换到使用lib和AsyncTask这样.

for(int x =0; x < mapIcon_url.length; x++){

    new AddMarker().execute(mapIcon_url[x]);
}


public class AddMarker extends AsyncTask<String, Integer, BitmapDescriptor> { …
Run Code Online (Sandbox Code Playgroud)

android google-maps-markers android-maps-v2 picasso

8
推荐指数
2
解决办法
4118
查看次数

在Maps V2上绘制多色PolyLines

我正在以下列方式在我的地图上绘制一个纯色PolyLine,效果很好:

PolylineOptions polyLine = new PolylineOptions();  
polyLine.width(5);  
polyLine.color(Color.RED);  
polyLine.geodesic(true);  
for (int i = 0; i < speed.length; i++) {  
    polyLine.add(new LatLng(lat, lng));
}

map.addPolyline(polyLine);
Run Code Online (Sandbox Code Playgroud)

现在我想在不同点之间绘制不同颜色的折线,具体取决于这两点之间的速度.

似乎没有一种简单的方法可以做到这一点.

我指的是这个问题:在v2地图上绘制不同颜色的折线,我可以PolylineOptions一个接一个地添加多个,但我认为这不是一个有效的方法,因为我在一个简单的数据集中有超过2000个点画画.

有更好的做法吗?

理想的实现方式是Nike + app如何在地图上绘制线条:

来自Google Play的Nike +屏幕截图

非常感谢任何帮助.

提前致谢!

android android-mapview android-maps-v2

8
推荐指数
1
解决办法
6190
查看次数

如何缩放相机以覆盖Android googlemap中的路径?

我已经在Google map使用中覆盖了多个位置LatLng.Builder并且它正在工作.有什么方法可以覆盖两个位置之间的整条路径Google map吗?

我的Curent Code包含多个位置

builder = new LatLngBounds.Builder();
builder.include(LatLng1);
builder.include(LatLng2);
googleMap.animateCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 17));
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?
谢谢

android google-maps android-maps-v2

8
推荐指数
2
解决办法
5621
查看次数

将地图标记设置为自定义颜色Android

我正在创建一个应用程序,在某些点添加地图的图钉.我希望我的针脚的颜色与我们的应用程序的主题颜色相匹配.对不起,我真的是个菜鸟

int color = Color.rgb(255, 201, 14);
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
final LatLng PERTH = new LatLng(40, -80);
Marker perth = mMap.addMarker(new MarkerOptions()
  .position(PERTH)
  .title("MY PIN")
  .snippet("MAGGIE EATS SNAKE SKINS")
  .draggable(true)
  .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin))
  .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.color)));
Run Code Online (Sandbox Code Playgroud)

.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.color))); 不起作用.它不允许我在这里插入自定义颜色.我怎样才能做到这一点?谢谢:)

android colors markers android-maps-v2

8
推荐指数
1
解决办法
5655
查看次数

android谷歌地图标记放置

在我的Android应用程序中,我需要将标记放在地图上的确切位置.我用51.507351,-0.127758(伦敦)位置在地图上标记了一个标记.我使用以下代码来完成工作.

googleMap.addMarker(new MarkerOptions().position(
        new LatLng(51.507351, -0.127758)).icon(
        BitmapDescriptorFactory.fromBitmap(BitmapFactory
                .decodeResource(getResources(),
                        R.drawable.q_icon))));
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
        new LatLng(51.507351, -0.127758), 20));
Run Code Online (Sandbox Code Playgroud)

这是我的标记可绘图像:

在此输入图像描述

现在我的问题是,"Q"符号位于51.507351,-0.127758的位置.我需要将标记放在底部箭头开始的位置.

请查看图片,以便了解我的问题.

我怎样才能做到这一点?请帮我.

在此输入图像描述

android android-maps android-maps-v2

8
推荐指数
3
解决办法
9231
查看次数