Как установить StreetView в моем просмотре карты - PullRequest
0 голосов
/ 07 мая 2011

Я работаю над проектом Android, в соответствии с которым мне нужно настроить карту для увеличения и показать более подробный вид моей карты, например, улицы, где я хочу, чтобы мои координаты триангулировали.Проблема в классе Mapview, setStreetView устарела, ват - альтернатива?Вот как выглядит setStreetView, когда я его использую.

package com.HelloMapView;

import java.util.List;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.OverlayItem;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.LinearLayout;

public class HelloMapView extends MapActivity {
    MapView mapview;
    LinearLayout linearlayout;
    List<Overlay> mapOverlay;
    Drawable drawable;
    HelloItemizedOverlay itemizedOverlay;
    @SuppressWarnings("deprecation")
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mapview=(MapView)findViewById(R.id.mapview);
        mapview.setBuiltInZoomControls(true);
        mapview.setStreetView(true);
        mapOverlay=mapview.getOverlays();
        drawable=this.getResources().getDrawable(R.drawable.androidmarker);
        itemizedOverlay=new HelloItemizedOverlay(drawable);
        GeoPoint geoPoint=new GeoPoint(19240000,-99120000);
        OverlayItem overlayitem=new OverlayItem(geoPoint,"","");
        itemizedOverlay.addoverlay(overlayitem);
        mapOverlay.add(itemizedOverlay);
    }

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}

это не работает, оно показывает только квадратные поля без карты вообще

Ответы [ 4 ]

2 голосов
/ 19 января 2012

я знаю, что уже поздно, но полезно для других в будущем, когда вы видите только серые плитки, а не карту, тогда проблема в ключе, который вы сгенерировали, а не в коде.для просмотра улиц http://mobiforge.com/developing/story/using-google-maps-android

0 голосов
/ 07 мая 2011
myMapView.setStreetView(true);
0 голосов
/ 07 мая 2011

открытый класс ABC extends MapActivity {

private static MapController myMapController = null;
private static GeoPoint geoPoint = new GeoPoint

((int) (25.24243399999999 * 1E6), (int) (55.30611937301637 * 1E6));

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.contact_us_layout);

    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.displayZoomControls(false);
    mapView.setBuiltInZoomControls(true);
    mapView.setFocusable(true);
    myMapController = mapView.getController();
    myMapController.animateTo(geoPoint);
    myMapController.setZoom(15);
    // mapView.invalidate();
    // mapView.setFocusable(true);
    myMapController.setCenter(geoPoint);
    List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(
            R.drawable.mapmarker);
    HelloItemizedOverlay itemizedOverlay = new HelloItemizedOverlay(
            drawable, this);

    OverlayItem overlayItem = new OverlayItem(geoPoint,
            "abc");

    itemizedOverlay.addOverlay(overlayItem);


    mapOverlays.add(itemizedOverlay);

    //mapView.setSatellite(true);
    **mapView.setStreetView(true);**

открытый класс HelloItemizedOverlayextends ItemizedOverlay {private ArrayList mOverlays = new ArrayList ();закрытый контекст mContext;

    public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
        super(boundCenterBottom(defaultMarker));
        mContext = context;
    }

    public void addOverlay(OverlayItem overlay) {
        mOverlays.add(overlay);
        populate();
    }

    @Override
    protected OverlayItem createItem(int i) {
        return mOverlays.get(i);
    }

    @Override
    public int size() {
        return mOverlays.size();
    }

    @Override
    protected boolean onTap(int index) {
        OverlayItem item = mOverlays.get(index);
        AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
        dialog.setTitle(item.getTitle());
        dialog.setMessage(item.getSnippet());
        dialog.show();
        return true;
    }
}

}

Здравствуйте, я опубликовал рабочий код для того, что вы хотите ... Если ваша карта ничего не отображает.Ваш ключ API не подписан должным образом .. Пожалуйста, подпишите его снова и предоставьте его в mapView.Если вы хотите использовать вид карты улиц, используйте: mapView.setStreetView (true). Если вы хотите использовать вид карты Satellite, используйте: mapView.setS satellite (true)

.
0 голосов
/ 07 мая 2011

Используйте setStreetView (логическое значение) MapView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...