aa2218018164 2013-02-21 06:31 采纳率: 100%
浏览 4291
已采纳

Android MapView显示Google地图

目前在做一个显示Google地图的案例,以前从来没整过所以这次试试

看了网上做法做的,也导入了Jar包。apiSDK也有,权限也给了,但是运行的时候还是启动不起来

下面是我的代码

   private MapView map;
    private MapController mc;

//  private LocationManager locationManager;
//  private LocationListener locationListener;
    private static final int latitudeE6=37985339;
    private static final int longitudeE6=23716735;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        map = (MapView) findViewById(R.id.map);
        mc=map.getController();
        map.setBuiltInZoomControls(true);

        List<Overlay> mapOverlay=map.getOverlays();
        Drawable drawable=this.getResources().getDrawable   (R.drawable.ic_action_search);
        CustomItemizedOverlay itemizedOverlay=new CustomItemizedOverlay(drawable,this);
        GeoPoint point=new GeoPoint(latitudeE6, longitudeE6);
        OverlayItem overlayItem=new OverlayItem(point, "Hello","I'm in Athens,Greece");

        itemizedOverlay.addOverlay(overlayItem);
        mapOverlay.add(itemizedOverlay);
        mc.animateTo(point);
        mc.setZoom(6);

    }


     public class CustomItemizedOverlay extends ItemizedOverlay<OverlayItem> {

    private ArrayList<OverlayItem> mapOverlays=new ArrayList<OverlayItem>();
    private Context context;



    public CustomItemizedOverlay(Drawable defaultMarker) {
        super(defaultMarker);
        // TODO Auto-generated constructor stub
    }

    public CustomItemizedOverlay(Drawable defaultMarker,Context context) {
        this(defaultMarker);
        this.context=context;
        // TODO Auto-generated constructor stub
    }



    @Override
    protected OverlayItem createItem(int item) {
        // TODO Auto-generated method stub
        return mapOverlays.get(item);
    }

    @Override
    public int size() {
        // TODO Auto-generated method stub
        return mapOverlays.size();
    }

    @Override
    protected boolean onTap(int index) {
        // TODO Auto-generated method stub
        OverlayItem item=mapOverlays.get(index);
        AlertDialog.Builder dialog=new AlertDialog.Builder(context);
        dialog.setTitle(item.getTitle());
        dialog.setMessage(item.getSnippet());
        dialog.show();
        return true;
    }

    public void addOverlay(OverlayItem overlay){
        mapOverlays.add(overlay);
        this.populate();
    }
  • 写回答

3条回答 默认 最新

查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同