返回信息流求解啊亲们,感谢不尽!!!
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #12158同步于 2014/2/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
【求助】这个问题怎么改都改不好,用的是百度API官网上面的源码
lemonlemon
2014/2/22镜像同步20 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import com.baidu.mapapi.map.ItemizedOverlay;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.OverlayItem;
import com.baidu.platform.comapi.basestruct.GeoPoint;
/*
* 要处理overlay点击事件时需要继承ItemizedOverlay
* 不处理点击事件时可直接生成ItemizedOverlay.
*/
class OverlayTest extends ItemizedOverlay<OverlayItem> {
//用MapView构造ItemizedOverlay
public OverlayTest(Drawable mark,MapView mapView){
super(mark,mapView);
}
protected boolean onTap(int index) {
//在此处理item点击事件
System.out.println("item onTap: "+index);
return true;
}
public boolean onTap(GeoPoint pt, MapView mapView){
//在此处理MapView的点击事件,当返回 true时
super.onTap(pt,mapView);
return false;
}
// 自2.1.1 开始,使用 add/remove 管理overlay , 无需重写以下接口
/*
@Override
protected OverlayItem createItem(int i) {
return mGeoList.get(i);
}
@Override
public int size() {
return mGeoList.size();
}
*/
protected void onCreate(Bundle savedInstanceState) {
/**
* 在想要添加Overlay的地方使用以下代码,
* 比如Activity的onCreate()中
*/
//准备要添加的Overlay
double mLat1 = 39.90923;
double mLon1 = 116.397428;
double mLat2 = 39.9022;
double mLon2 = 116.3922;
double mLat3 = 39.917723;
double mLon3 = 116.3722;
// 用给定的经纬度构造GeoPoint,单位是微度 (度 * 1E6)
GeoPoint p1 = new GeoPoint((int) (mLat1 * 1E6), (int) (mLon1 * 1E6));
GeoPoint p2 = new GeoPoint((int) (mLat2 * 1E6), (int) (mLon2 * 1E6));
GeoPoint p3 = new GeoPoint((int) (mLat3 * 1E6), (int) (mLon3 * 1E6));
//准备overlay图像数据,根据实情情况修复
Drawable mark;
mark = getResources().getDrawable(R.drawable.icon_marka);
//用OverlayItem准备Overlay数据
OverlayItem item1 = new OverlayItem(p1,"item1","item1");
//使用setMarker()方法设置overlay图片,如果不设置则使用构建ItemizedOverlay时的默认设置
OverlayItem item2 = new OverlayItem(p2,"item2","item2");
item2.setMarker(mark);
OverlayItem item3 = new OverlayItem(p3,"item3","item3");
MapView mMapView;
//创建IteminizedOverlay
OverlayTest itemOverlay = new OverlayTest(mark, mMapView);
//将IteminizedOverlay添加到MapView中
mMapView.getOverlays().clear();
mMapView.getOverlays().add(itemOverlay);
//现在所有准备工作已准备好,使用以下方法管理overlay.
//添加overlay, 当批量添加Overlay时使用addItem(List<OverlayItem>)效率更高
itemOverlay.addItem(item1);
itemOverlay.addItem(item2);
itemOverlay.addItem(item3);
mMapView.refresh();
//删除overlay .
//itemOverlay.removeItem(itemOverlay.getItem(0));
//mMapView.refresh();
//清除overlay
// itemOverlay.removeAll();
// mMapView.refresh();
}
private Object getResources() {
// TODO Auto-generated method stub
return null;
}
}
这个.java的完整版~
【 在 icyfox 的大作中提到: 】
: 代码整个贴上来吧
: 你这个肯定是因为没有context