问题描述
- 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(); }
解决方案
http://blog.csdn.net/zlqqhs/article/details/8548439
http://blog.csdn.net/zlqqhs/article/details/8559207
解决方案二:
http://stackoverflow.com/questions/2283398/shared-library-missing-in-android
解决方案三:
如果用AVD跑的话,需要用Google API那个包
时间: 2024-09-19 08:18:11