2011-05-07 2 views
0

에뮬레이터가 인터넷에 연결할 수 없다면 내 MapView가 Google지도 타일을 streetView 수준으로 표시 할 수 있습니까? 내 코드가 작동하지 않기 때문에!내지도보기에 streetView를 설정하는 방법

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 { 
    private static MapController myMapController = null; 
    private static GeoPoint geoPoint = new GeoPoint((int)(25.24243399999999 * 1E6),(int)(55.30611937301637 * 1E6)); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     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.androidmarker); 
     HelloItemizedOverlay itemizedOverlay = new HelloItemizedOverlay(drawable); 
     OverlayItem overlayItem = new OverlayItem(geoPoint,"abc",""); 
     itemizedOverlay.addoverlay(overlayItem); 
     mapOverlays.add(itemizedOverlay); 
     //mapView.setSatellite(true); 
     mapView.setStreetView(true); 




    } 

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

ItemizedOverlay가

package com.HelloMapView; 

import java.util.ArrayList; 

import android.graphics.drawable.Drawable; 

import com.google.android.maps.ItemizedOverlay; 
import com.google.android.maps.OverlayItem; 

public class HelloItemizedOverlay extends ItemizedOverlay { 
    private ArrayList<OverlayItem> mOverlay=new ArrayList<OverlayItem>(); 
    public HelloItemizedOverlay(Drawable defaultMarker) { 
     super(boundCenterBottom(defaultMarker)); 
    } 
    @Override 
    protected OverlayItem createItem(int i) { 
     return mOverlay.get(i); 
    } 
    @Override 
    public int size() { 
     return mOverlay.size(); 
    } 
    public void addoverlay(OverlayItem overlay) 
    { 
     mOverlay.add(overlay); 
     populate(); 
    } 

} 

누군가 나에게 손을 빌려주십시오 확장 다른 클래스입니다. Plus Eclipse는 setStreetView가 더 이상 지원되지 않으며 더 이상 지원되지 않는다고 말합니다. 다른 포럼에서 내 문제가 MapView 클래스의 setStreetView를 사용해야한다는 이유 때문에 혼자있는 지 알 수 없습니다. 그러나 그들이 이것을 알고 있는지 안다면 나는 모른다. 고맙습니다.

답변

0

더 이상 사용되지 않지만 setStreetView는 특정 거리에 대해 스트리트 뷰 타일을 사용할 수 있는지 여부를 나타내는 표시기가 아니며 스트리트 뷰 타일을 실제로 표시하지 않았습니다.

Google은 안드로이드 API를 위해 streeview 카메라를 가져 오는 방법을 공개하지 않습니다. 위성 또는 2D지도보기 만 표시 할 수 있습니다. 이 외에도 많은 기능을 Google지도에서 사용할 수 없습니다.

그리고 다른 두 모드에 대한

당신은 항상 인터넷 연결이 제어 스트리트 뷰 가용성 (파란색 외곽선) 즉지도에 표시되어 있는지 여부를 말한다

참조 setStreetView

주의가 필요합니다 그것 거리 주변에서 파란 윤곽선을 그려서 스트리트 뷰를 얻을 수는 있지만 적어도 Google지도에서는 ​​가능하지만 Android API에서는 그렇지 않습니다.

관련 문제